如何在 Node.js 中加密公钥(X509 RSA 2048)?

问题描述 投票:0回答:1

CardData 表单元素的值示例:

PAN=4300000000000777;ExpDate=0519;CardHolder=IVAN PETROV;CVV=111

CardData对象收集为“key=value”列表(以“;”分隔),加密 公钥(X509 RSA 2048),生成的二进制值以 Base64 编码。

我的代码

const key = new NodeRSA();
key.importKey(this._publicKey, 'pkcs8-public');
const encrypted = key.encrypt(cardData, 'base64');

this._publicKey - 开放代码 (X509 RSA 2048),用于加密,由银行发行

Card data blocking error.
javascript node.js encryption nodes public-key-encryption
1个回答
1
投票

避免使用

NodeRSA
,因为它不再被维护。相反,请使用
crypto
包。

这可以是你的功能:

function encryptWithPublicKey(publicKey, data) {
  const buffer = Buffer.from(data, 'utf8');
  const encrypted = crypto.publicEncrypt(
    {
      key: publicKey,
      padding: crypto.constants.RSA_PKCS1_PADDING,
    },
    buffer,
  );

  return encrypted.toString('base64');
}
© www.soinside.com 2019 - 2024. All rights reserved.