将AES从lockbox2迁移到lockbox3 delphi

时间:2015-11-05 11:29:17

标签: delphi aes rijndael lockbox-3 lockbox-2

我想在delphi XE6上将旧的加密函数从lockbox2迁移到lockbox3。 在此之前我已经制作了一个code(CipherComp.dpr)来比较输出,因为设置已经改变。

我使用AES-ECB(以避免IV)256位,密钥:' 1234567890',文字:'一个秘密字'

使用 TPLB2 我初始化如

  FAES : TLbRijndael;

  FAES := TLbRijndael.Create(nil);
  FAES.CipherMode := cmECB;   // cmECB (default), cmCBC
  FAES.KeySize := ks256;      // ks128, ks192
  FAES.SetKey('1234567890');  // set the password here

并使用以下方式加密:

  Result := FAES.EncryptString(pString);

另一方面 TPLB3 更改

  FCodec: TCodec;
  FCryptoLib: TCryptographicLibrary;

  FCodec := TCodec.Create(nil);
  FCryptoLib := TCryptographicLibrary.Create(nil);

  FCodec.CryptoLibrary := FCryptoLib;
  FCodec.StreamCipherId := uTPLb_Constants.BlockCipher_ProgId;
  FCodec.BlockCipherId  := 'native.AES-256';
  FCodec.ChainModeId    := uTPLb_Constants.ECB_ProgId;
  FCodec.Password := '1234567890';

并加密

  FCodec.EncryptAnsiString(pString, Result);

但是当密码相同的文本时输出不匹配。

a secret word qD9+fF1EqdQH8C3TrEaLQg==
a secret word 1bUXLgXwob1cL6O27HMViw==

我做错了什么,但我能弄清楚是什么。

任何提示?

提前致谢。

0 个答案:

没有答案