Aes hesaplama için kullandığım kütüphane linki şu şekilde.
https://github.com/StephenGenusa/DCPCrypt
Hesapladığım kod ise şu şekilde.
Kod: Tümünü seç
Function StrToHex(s: ansiString;const ters:boolean=false): ansiString;
Var
i : Integer;
Begin
Result:='';
If Length(s)>0 Then
For i:=1 To Length(s) Do
begin
if ters=False then
Result:=IntToHex(Ord(s[i]),2)+Result
else
Result:=Result+IntToHex(Ord(s[i]),2);
end;
End;
function aescalcualtor (key:Ansistring):Ansistring;
var
Cipher : TDCP_rijndael;
IV : Ansistring;
Data : Ansistring;
i:integer;
Buffer : Ansistring;
begin
Data := #$00#$01#$02#$03#$04#$05#$06#$07#$08#$09#$0a#$0b#$0c#$0d#$0e#$0f;
IV := '';
Cipher := TDCP_rijndael.Create(nil);
Cipher.Init(Key[1], 256, @IV[1]);
SetLength(Buffer,16);
Cipher.EncryptECB(Data[1], Buffer[1]);
Result:=buffer;
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
mmo1.Lines.Add(StrToHex(aescalcualtor('11')));
end;
Delphi 7 çıktısı ve doğru olanı
B1CD5BE4ED3DBE649DA2FD2100FB47AF
Delphi 10.2 ise şu şekilde.
527C056F6F9C657B07A1B209B38544CE
String olarak değiştirdim ansistring yaptım malasef bir türlü doğru hesaplama yaptıramıyorum. Doğru olanı delphi 7 hesaplıyor ama 10.2 malasef doğru hesaplama yapmıyor. Yardımlarınız için şimdiden çok teşekkür ederim. Doğru bir hesaplama yapan farklı bir kütüphane var ise elinizde fikirlerinizi belirtirseniz çok memnun olurum şimdiden...