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上的一个好问题。 –