2

我的 Delphi 应用程序使用 TurboPower LockBox 3 使用 AES 256 加密纯文本信息。我现在想使用 PHP 解密此信息。但是 TurboPower LockBox 3 存在一些互操作性问题。

请在此处查看 LockBox 3 作者的帖子以获取详细信息:

http://lockbox.seanbdurkin.id.au/tiki-view_forum_thread.php?comments_parentId=363&topics_offset=1

以及 Stackoverflow 上的类似帖子

Delphi & PHP 中的安全密钥对加密解决方案?

在 LockBox 3 中,在加密期间,您设置了密码。然后将该密码用作生成密钥和 iv 的种子。那么有没有人能够模仿 PHP 端的密钥生成方法?或者有什么方法可以让 LockBox 3 生成的 Key/IV 并将其放入我的 PHP 代码中,以便可以解密文件?

4

1 回答 1

7

如前所述,IV nonce 被附加到密文消息中。因此,要在 PHP 端获取它,只需提取前 8 个字节。

钥匙

您需要确定共享密钥是密码字符串格式还是二进制密钥格式。symetric Key 类 (TSymetricKey) 有一个方法 SaveToStream(),它可以按您的预期工作。TCodec 组件有一个 Key 属性,在设置密码、链接模式和密码后可用。

所有的方法都是自记录的,并且几乎按照他们读到的方式执行,但是如果您需要一些演示代码,将密钥保存到流中,请告诉我。

于 2012-08-27T08:29:45.543 回答