在 nodejs 算法 rsa-sha1 中创建签名 private_key.pem

Create signature in nodejs algorithm rsa-sha1 private_key.pem

我可以在 Nodejs 中创建类似下面代码的签名吗?

 # Load PRIVATE key
    private_key = OpenSSL::PKey::RSA.new(File.read(Rails.root + ENV['EPAY_PRIVATE_KEY']))

    # Sign your data
    signMessage = private_key.sign(OpenSSL::Digest::SHA1.new, message)

    # Base64 message
    baseMessage = Base64.encode64(signMessage.to_s)

您应该可以在 Node.js 中执行相同的操作,创建签名非常简单,例如:

const crypto = require('crypto');
const fs = require('fs');
const privateKey = fs.readFileSync('./private-key.pem', 'utf8');

const message = "some message data";
const sign = crypto.createSign('SHA1');
sign.update(message);
sign.end();
const signature = sign.sign(privateKey);
console.log("Signature: ", signature.toString('base64'));

这将创建消息的 base64 编码 SHA1 签名。