为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用公钥加密并使用 Javascript(NodeJS 等)使用 Base64 进行编码

如何使用公钥加密并使用 Javascript(NodeJS 等)使用 Base64 进行编码

至尊宝的传说 2023-05-25 16:47:19
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));

查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信