0

我得到 TSimpleCodec.Begin_EncryptMemory - 执行以下代码时出现错误模式异常。有什么问题吗?

FLibrary := TCryptographicLibrary.Create(Self);
FCodec := TCodec.Create(Self);
FCodec.CryptoLibrary := FLibrary;
FCodec.BlockCipherId := 'native.AES-256';
FCodec.ChainModeId := 'native.ECB';
FCodec.Password := 'password';
plain := 'The plain text';
FCodec.EncryptString(plain, astr);
FCodec.DecryptString(dec, astr);
4

1 回答 1

0

通过运行时代码初始化编解码器时,需要设置 StreamCipherId。在设置 BlockCipherId 之前插入以下行。

 FCodec.StreamCipherId := BlockCipher_ProgId;

如果您使用设计时值设置编解码器,则不需要这样做。在设计时做起来要容易得多。只需根据需要设置已发布的属性。

Delphi 2010 的演示程序在 TmfmLockbox3_Demo.FormCreate() 和 TmfmLockbox3_Demo.actCustomBlockEncryptExecute() 方法中给出了一个示例。

另请阅读有关它的在线帮助

作为一般提示,如果您只是查看演示程序和/或阅读在线帮助,您将很少需要来 StackOverflow。如果文档中存在任何不足之处,请在 LockBox 论坛上发布一些建设性的可行建议,以改进文档(演示 + 在线帮助)。

于 2012-04-13T03:08:55.837 回答