Использование LockBox3 с Delphi XE4 без установки

Я портирую программу с Delphi 2009 на XE4 и у меня проблема с шифрованием LockBox. Модуль шифрования / дешифрования использует только один компонент:

    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.

Как я понял нет LockBox2 для Delphi XE4. Могу ли я использовать LockBox3 для этой цели? Если да, могу ли я использовать только необходимые модули без установки в Delphi (это было сделано с помощью LockBox2)?

1 ответ

Решение

Хотя API-интерфейсы LB2 и LB3 сильно различаются, вы сможете без проблем переносить этот код. Поскольку вы динамически создаете компоненты во время выполнения, вам не нужно устанавливать пакеты в вашу среду IDE, при условии, что в пути к вашей библиотеке задан источник LB3.

Другие вопросы по тегам