gpt4 book ai didi

node.js - 如何从十六进制编码模数创建 RSA key 并在 node.js 中加密

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:21 27 4
gpt4 key购买 nike

我正在node.js中找到RSA加密的方法,我想处理大数字,所以我使用这个:https://github.com/eschnou/node-bignumber

我要做的只是加密,带有模数和指数。我不需要解密。无论如何,我不断出错,但我不知道出了什么问题。谁能知道这是怎么回事吗?谢谢。

代码

require("node-bignumber");
var nvalue="ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d";
var evalue="010001";
var encpw="";
var rsa = new RSAKey;

function encryptMessage() {
var message = "All your bases are belong to us.";
rsa.setPublic(evalue, nvalue);
encpw.value = rsa.encrypt(message);
console.log(encpw);
}

encryptMessage();

错误

ReferenceError: RSAKey is not defined
at Object.<anonymous> (c:\Users\win\Desktop\untitled\juntae.js:5:15)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:136:18)
at node.js:963:3

enter image description here

最佳答案

您应该能够通过以下方式从模数和公共(public)指数加载 RSA 公钥:

var rsa = require("node-bignumber");

var n = "ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d";
var e = "010001";
var pub = new rsa.Key();
pub.setPublic(n, e);

var message = "Message";
var encrypted = pub.encrypt(message);

console.log(encrypted);

RSA 中的公钥由模数和公共(public)指数组成,因为加密过程中需要这两个值。

关于node.js - 如何从十六进制编码模数创建 RSA key 并在 node.js 中加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34180984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com