CNode

小白求解:node.js 怎么用crypto rsa加密密码

问答
XXuCe发布于11 年前最后回复11 年前2 回复6754 浏览0 收藏

如何把python的 key = rsa.PublicKey.load_pkcs1_openssl_pem(pubkey) //加载公钥 password_rsaed = base64.b64encode(rsa.encrypt(self.password, key)//使用公钥加密密码 使用node.js 实现 试过ursa 发现加密出来的 不对 var crt = ursa.createPublicKey(fs.readFileSync('pubkey.pub')); var password_rsaed=crt.encrypt(user.password, 'utf8', 'base64');

查看回复

回复 (2)

X
XuCe#2·11 年前
引用 William17文档crypto crypto publicencrypt public key buffer

@William17 谢谢 我试过了 并不行 我不知道为嘛 用python加密出来的 可以验证通过 node.js的不行 然后我就用了 python-shell 自己写了一个python脚本 接收pukkey和password 返回加密文本

var PythonShell = require('python-shell'); PythonShell.run('sslrsa.py', { args: [pubkey, password] }, function (err, results) { console.log(results[0]); });

sslrsa.py import sys import base64 from hashlib import sha1, md5 import rsa pubkey=sys.argv[1] password=sys.argv[2] key = rsa.PublicKey.load_pkcs1_openssl_pem(pubkey) password_rsaed = base64.b64encode(rsa.encrypt(password, key)) print(password_rsaed)

参与回复
登录后即可参与回复。登录