var NodeRSA = require('node-rsa');var key = new NodeRSA();var public= '-----BEGIN PUBLIC KEY-----'+publicKey+'-----END PUBLIC KEY-----';const text = "hello";key.importKey(public,"pkcs1");var encrypted = key.encrypt(text, 'base64');console.log(encrypted);我正在尝试使用 node-rsa 加密文本,我正在尝试加密的文档说它必须使用 PKCS1-v1_5 方案在 RSA 中使用加密进行加密。我尝试使用这段代码并且它有效但是当我将加密消息发送到 API 时(我不能透露是哪个),它不接受它并显示此错误消息:{"errors":[{"code":"rsaCryptService.decrypt.wrongKey","title":"Wrong public key.","detail":"The public key you are using is invalid. Please use the one we provided you."}]}我用 Python 制作了一个替代版本并且可以使用,但我需要它才能使用 Javascript使用 Django 或 Flask 是一个选项吗?帮助 !!!:(
1 回答

狐的传说
TA贡献1804条经验 获得超3个赞
let forge = require("node-forge");
var pki = forge.pki;
var pem = '-----BEGIN PUBLIC KEY-----\n'+key+'-----END PUBLIC KEY-----';
// convert a PEM-formatted public key to a Forge public key
var publicKey = pki.publicKeyFromPem(pem);
var text = "message";
const encrypted = publicKey.encrypt(text);
console.log("encrypted:", forge.util.encode64(encrypted));
添加回答
举报
0/150
提交
取消