0
我正在將程序從Delphi 2009移植到XE4,並遇到LockBox加密問題。加密/解密單元只使用一個組件:在沒有安裝的情況下使用LockBox3與Delphi XE4
interface
function Encrypt(aStr: String): String;
function Decrypt(aStr: String): String;
function NeedEncrypt(): Boolean;
implementation
uses
windows,
strUtils,
LbClass;
var
LbRijndael: TLbRijndael;
localNeedEncrypt: Boolean;
function NeedEncrypt(): Boolean;
begin
Result := localNeedEncrypt;
localNeedEncrypt := False;
end;
function Encrypt(aStr: AnsiString): AnsiString;
begin
Result := aStr;
if RightStr(aStr, 2) = '==' then
Exit;
Result := LbRijndael.EncryptString(aStr);
end;
function Decrypt(aStr: AnsiString): AnsiString;
begin
Result := aStr;
if RightStr(aStr, 2) = '==' then
Result := LbRijndael.DecryptString(aStr)
else
localNeedEncrypt := True;
end;
initialization
LbRijndael := TLbRijndael.Create(nil);
LbRijndael.GenerateKey('KEYABC');
LbRijndael.CipherMode := cmECB;
LbRijndael.KeySize := ks128;
end.
據我所知,Delphi XE4沒有LockBox2。 我可以爲此使用LockBox3嗎?如果是,我可以在沒有安裝到德爾福的情況下使用剛剛需要的單元(這是通過LockBox2完成的)?
我刪除了關於開源替代品的問題,因爲這應該至少是一個單獨的問題,儘管要求庫推薦通常不是StackOverflow上的一個好問題。 –