Эххх... не могу зашифровать лог пасс. Устал уже... Сделал из этой функции дллку подключил FGint, все скомпилилось. При вызове функции RSAEncrypt
получаю ошибку. Дальше сделал в делфи тестовую программу, что-бы посмотреть как работает функция. Тут вообще не пойми что... Прописал прям внутри функции "от балды" лог пасс и ключ 128 символов (rsakey:string), вывел результат на форму - то работает, то нет. Стоит поменять пару символов в ключе (при том же размере) - все крит эррор.
Я в замешательстве. Есть где-нибудь другие сорцы RSA/ECB/NoPadding? Или готовые библиотеки. посоветуйте что-нибудь.
Вот сорц длл:
	Код:
	library Project1;
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FGint;
function RSAEncrypt(aa,pp,rsakey:PChar):integer;
var
  sD,sR,sM:string;
  m,e,d,r:TFGInt;
  a,p:string;
begin
  a:=string(aa);
  p:=string(pp);
  if length(a)>14 then setlength(a,14);
  while length(a)<14 do a:=a+#0;
  if length(p)>16 then setlength(p,16);
  while length(p)<16 do p:=p+#0;
  for i:=0 to 13 do
  sD:=a+p+#0#0#0#0;
  sM:=string(rsakey);
  Base10StringToFGInt('65537',e);
  Base256StringToFGInt(sD,d);
  Base256StringToFGInt(sM,m);
  FGIntMontgomeryModExp(d,e,m,r); //тут ловлю крит...
  FGIntToBase256String(r,sR);
  //rsakey:=PChar(sR);
  //result:=PChar(sR);
end;
exports RSAEncrypt;
begin
end.