百度“delphi aes”出來的結果,千篇一律,都是相互轉載,但是沒有人發現EldoS, Alexander Ionov於1998-2001寫的ElAes.pas代碼,存在一個問題。
相同的key和iv,計算結果跟.net中的計算結果完全不一樣,就快絕望時,跟蹤代碼想起補齊值的問題。
原代碼如下:
FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0);
應更正如下:
FillChar(TempIn[Count], SizeOf(TempIn) - Count, SizeOf(TempIn) - Count);