php - 与 PHP 的 mcrypt 兼容的 AES 的 Javascript 实现

标签 php javascript encryption aes mcrypt

问题

我需要用 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 中解密。

最佳答案

我最终使用了 SlowAES 库,它在 PHP 和 JS 中有并行实现:

http://kevinkuchta.com/_site/2011/08/matching-php-and-js-encryption/

关于php - 与 PHP 的 mcrypt 兼容的 AES 的 Javascript 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868534/

相关文章:

PHP-fopen() : failed to open stream: Permission denied on a mac?

javascript - 为什么 PHP strlen() 和 Javascript xxx.length 不相等?

javascript - 如何在子组件中重置父组件的状态?

c - 无法使用 openssl 解密包含空字符 (\x00) 的加密字符串

php - 将 CURL_OPTPOST 设置为 true 时,CURL http 身份验证失败

PHP 和 MySQL : How to select rows in 10 minute increments

javascript - 为什么 "Single-quoted string preferred over double-quoted string."在 js 中?

javascript - 添加 cordova.js 时混合移动应用程序崩溃

c# - 指定的 key 不是该算法的有效大小

java - Java 5 中的 AES 256 加密支持