0

プログラムを Delphi 2009 から XE4 に移植していますが、LockBox 暗号化で問題が発生しました。暗号化/復号化ユニットは 1 つのコンポーネントのみを使用しています:

    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 を使用できますか? はいの場合、Delphi にインストールせずに必要なだけのユニットを使用できますか (これは LockBox2 で行われました)。

4

1 に答える 1