本人小白,因为所写小程序用到rsa加密所以写下这篇文章用来记录,如有错误,欢迎各位大佬指点,谢谢
rsa加密需要公钥,后台解密需要私钥进行
一般后台会传递一个公钥给前端进行加密
rsa加密我用的是这种方式:pkcs8格式的私钥主要用于Java中
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
这个是将后台传递过来的公钥采用字符串拼接的方式拼接在一起,例如:
//res.data.data是后台传递过来的公钥
let publicKey = '-----BEGIN PUBLIC KEY-----' + res.data.data + '-----END PUBLIC KEY-----'
在小程序页面中使用rsa加密,首先需要下载wx_rsa文件,在文章下方附有该文件的源码可供参考
小程序顶部首先引入wx_rsa加密文件
var RSA = require('../../utils/wx_rsa')
使用方式:
//下方这个是公钥
let publicKey = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCoChRDJ6e7BTE5yYBIS + NGYBpDs7ftEematqhvMmOFcJng7qjJk + yJ1j7DCqbCD2f / BI6gTfGXASiYuO6kklZu8Pkw4HAUkaaGyhaC8Z+ TMg79PPRz5hziEdFXPTdXvXudiXbI2Wi6D90ZaSwN6ZHs7Mtc5VgGK3jxS35iLm+ oAQIDAQAB-----END PUBLIC KEY-----'
var encrypt_rsa = new RSA.RSAKey();
encrypt_rsa = RSA.KEYUTIL.getKey(publicKey);
encStr = encrypt_rsa.encrypt(input_rsa);
encStr = RSA.hex2b64(encStr);
console.log("加密结果:" + encStr)
这里是wx_rsa加密文件
找我要链接