【问题标题】:AES in JavaScript that matches PHP's mcrypt与 PHP 的 mcrypt 匹配的 JavaScript 中的 AES
【发布时间】:2011-04-04 09:16:22
【问题描述】:

是否有任何 JavaScript 库可以让您像在 PHP 中使用 mcrypt 那样加密和解密 256 位 AES(当然得到相同的结果)?我想给它一个可变长度的消息和一个 32 个字符的键。我发现的所有库都需要固定长度的明文块和键的字节数组。

这就是它在 PHP 中的实现方式:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
echo mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "32 CHARS THAT REPRESENT MY KEY!!", "hello", MCRYPT_MODE_ECB, $iv);    

【问题讨论】:

  • 为什么要使用 javascript 加密?以便全世界都能看到您的加密密钥?
  • 啊不用担心,密钥是通过https发送的。
  • HTTPS 与否,用户仍然可以在您的 JavaScript 中看到密钥。因此,例如,如果我通过 HTTPS 连接访问您的网站,可以通过查看源或使用 Firebug 等工具仍然看到加密密钥。
  • 我知道我知道。但只要其他人看不到,用户是否可以看到并不重要。
  • 如果您非常信任您的用户和连接,为什么不让 HTTPS 处理安全问题?

标签: php javascript cryptography aes mcrypt


【解决方案1】:

是的!我为 javascript 制作了 mcrypt(开始)。它没有完全相同的界面,但它是相似的。 https://code.google.com/p/js-mcrypt/

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 2018-02-23
    • 2011-09-18
    • 2016-02-21
    • 2015-11-01
    • 2014-09-12
    • 2011-09-18
    • 2014-06-28
    • 2015-11-30
    相关资源
    最近更新 更多