如何把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’);
@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)