【发布时间】:2018-03-22 06:20:00
【问题描述】:
我正在开展一个项目,该项目需要使用以下要求对肥皂信封进行 AES 加密。
- 加密密钥:
myKey-1234567abcdef - AES-256 加密
- 128 块大小
- PKCS7 填充
- 16位矢量(矢量附加在加密消息之前)
- 密码块链接 (CBC)
这是我尝试过的:
$key = 'myKey-1234567abcdef';
$encryptionMethod = "AES-256-CBC";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = substr(mcrypt_create_iv($iv_size, MCRYPT_RAND), 0, 16);
$xml = openssl_encrypt($xml,$encryptionMethod, $key, 0, $iv);
我目前收到 400 错误请求错误,并且参数常量 mcrypt 函数似乎有很多选项,想知道我的实现是否满足填充、块大小和向量的需求?
感谢任何建议,在此先感谢!
【问题讨论】:
-
AES 是 MCRYPT_RIJNDAEL_128,而不是 256 令人困惑...这可能会有所帮助gist.github.com/lkorth/4061732 这有点乱,这就是我删除答案的原因。
标签: php encryption aes