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

标签 ruby-on-rails node.js openssl rsa sha1

我可以在 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 签名。

关于ruby-on-rails - 在nodejs算法中创建签名 rsa-sha1 private_key.pem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56968418/

相关文章:

ruby-on-rails - 如何在 Rails 中为现有模型生成表单?

ruby-on-rails - 如何使用 Ruby on Rails 优化 'string.split("&").sort.join("&")'?

node.js - 如何根据另一个属性选择一个属性 - mongodb

javascript - Backbone +r.js : Backbone is not defined

Apache SSL 配置错误(SSL 连接错误)

php - openssl base64 和 PHP base64_encode 的不同结果

linux - 与 gcc -lnetsnmp 链接时 undefined reference

ruby-on-rails - 在哈希数组中查找唯一的哈希值(Ruby)

ruby-on-rails - 如何在安装了 Ruby on Rails 的系统上使用 RVM?

angularjs - Bower 调用被公司代理阻止,然后在更新 .bowerrc 时出现错误