我最近发现了这个 RSA JavaScript 库:http://www.ohdave.com/rsa/ .但是,它要求预先生成 key 。这是我的问题:
我想在 JavaScript 中生成一个 RSA key 对(这样我就不必在每次需要新 key 对时都更改代码。)
虽然我了解如何使用它来发送安全数据,但如果我没记错的话,这个库不能用于客户端从服务器接收安全数据(因为公共(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/