javascript - 在 JavaScript 中生成 RSA key 对

标签 javascript security encryption

我最近发现了这个 RSA JavaScript 库:http://www.ohdave.com/rsa/ .但是,它要求预先生成 key 。这是我的问题:

  1. 我想在 JavaScript 中生成一个 RSA key 对(这样我就不必在每次需要新 key 对时都更改代码。)

  2. 虽然我了解如何使用它来发送安全数据,但如果我没记错的话,这个库不能用于客户端从服务器接收安全数据(因为公共(public)和私有(private)指数,以及模数,从服务器传输纯文本)。我错了吗?

我希望对此进行一些讨论。我不是安全专家,但我对非对称加密有很深的了解。

最佳答案

这个问题大约在 10 年前就已经提出了,从那时起,很多事情都得到了改善。目前,大多数现代浏览器都具有 Web Crypto API它提供了生成强随机数的能力,因此允许脚本生成加密 key 、签署数据、验证签名、加密和解密数据以及其他加密操作。

这是来自上述 MDN 的示例代码:

let keyPair = window.crypto.subtle.generateKey(
  {
    name: "RSA-OAEP",
    modulusLength: 4096,
    publicExponent: new Uint8Array([1, 0, 1]),
    hash: "SHA-256"
  },
  true,
  ["encrypt", "decrypt"]
);

关于javascript - 在 JavaScript 中生成 RSA key 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1130296/

相关文章:

php - 保护通过电子邮件发送的delete.php链接

Iphone - 如何使用公钥加密 NSData 并使用私钥解密?

javascript - Chrome 扩展程序 OATH 401 错误(未经授权)

javascript - div滑动后改变大小

javascript - 无法从 sequelize 中的 select 语句中排除关联的字段

javascript - 预加载 jPlayer 使用的音频文件

java - Facebook 'code' 参数作为 OAuth 身份验证查询字符串的一部分

apache - 我一直在我的 apache 日志中看到 +--+,这是什么?

java - 在 node 中加密并在 java 中解密

perl - Chilkat 加密未按预期工作