我最近发现了这个 RSA JavaScript 库:http://www.ohdave.com/rsa/ http://www.ohdave.com/rsa/。但是,它要求预先生成密钥。这是我的问题/问题:
我想在 JavaScript 中生成 RSA 密钥对(这样我就不必每次需要新密钥对时都更改代码。)
虽然我了解如何使用它来发送安全数据,但如果我没有弄错的话,该库不能用于客户端从服务器接收安全数据(因为公共和私有指数以及模数是直接传输的-来自服务器的文本)。我错了吗?
我很想对此进行一些讨论。我不是安全专家,但我对非对称加密有相当深入的了解。
这个问题大约 10 年前就被提出了,从那时起,很多事情都得到了改善。目前,大多数现代浏览器都具有网络加密 API https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API它提供了生成强随机数的能力,因此允许脚本生成加密密钥、签署数据、验证签名、加密和解密数据以及其他加密操作。
以下是来自上述 MDN 的示例代码:
let keyPair = window.crypto.subtle.generateKey(
{
name: "RSA-OAEP",
modulusLength: 4096,
publicExponent: new Uint8Array([1, 0, 1]),
hash: "SHA-256"
},
true,
["encrypt", "decrypt"]
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)