AES 的 Javascript 实现与 PHP 的 mcrypt 兼容
Posted
技术标签:
【中文标题】AES 的 Javascript 实现与 PHP 的 mcrypt 兼容【英文标题】:Javascript implementation of AES compatible with PHP's mcrypt 【发布时间】:2011-10-15 15:52:11 【问题描述】:问题
我需要在 javascript 中加密数据并在 php 中解密。 Mcrypt 似乎是 PHP 方面的方法,而 AES 似乎完全足够好,但我很难找到与之匹配的 javascript 解密算法。有什么建议?如果它有助于获得兼容的 js 加密/解密库,我愿意替换任何假设(mcrypt、aes、ECB 等)。
代码
PHP 看起来很像这样:
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encrypted = mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $key, $plaintext,
MCRYPT_MODE_ECB,$iv );
基本原理
这并不重要,但这里的重点是对外部系统的一些凭据进行加密,以便我们可以在我们的服务器周围传递它,而无需我们的分析和日志服务器清楚地拾取它。它最终会在发送到外部系统之前在 PHP 中被解密。
【问题讨论】:
同样的问题!!!我找到的所有当前库都使用密码,我需要一个使用密钥和 iv :( 我遇到了同样的问题。你有什么发现吗? 看看我的问题***.com/questions/18786025/… 【参考方案1】:我最终使用了 SlowAES 库,它在 PHP 和 JS 中具有并行实现:
http://kevinkuchta.com/_site/2011/08/matching-php-and-js-encryption/
【讨论】:
以上是关于AES 的 Javascript 实现与 PHP 的 mcrypt 兼容的主要内容,如果未能解决你的问题,请参考以下文章
javascript 与 PHP 通信加密,使用AES 128 CBC no padding,以及ios,java,c#文章例子