在 JS 中创建一个可以传输到 PHP 的随机 AES 密钥?

Create a Random AES Key in JS that can transferred to PHP?

我有一个同时使用 AES 和 RSA 加密的表单处理脚本。

起初,我只使用RSA,但由于数据量限制,我开始使用AES加密,现在密钥是用RSA加密的。

我已经确定如果我手动生成一个随机字符串我可以解密 AES 但当我使用

var key = forge.random.getBytesSync(32);
var iv = forge.random.getBytesSync(32);

我无法将其转移到 PHP。当我使用 PHPAES 库时,抛出异常,抱怨我的密钥大小不正确。

如何创建我也可以传输到 PHP 中的加密安全密钥?

如果需要更多信息,我很乐意提供。

感谢@MichaelFehr,

我已经修好了。问题出在 IV 的长度上。

var key = forge.random.getBytesSync(32);
var iv = forge.random.getBytesSync(16); // not 32

这有效!