uniapp 小程序实现 RSA 加密
uniapp 小程序实现 RSA 加密
·
uniapp 小程序实现 RSA 加密
引言
前端开发时,有时候不可避免会使用到加密,本人在这次的小程序项目中就使用到了 RSA 这种非对称性加密,因此对这次的使用进行了记录
创建并使用 jsencrypt 进行 RSA 加密
uniapp 小程序中 npm 下载 jsencrypt 或者引用包,会因为小程序和h5由于元素的不同出现报错,因此需要更改 jsencrypt 文件,可点击下面链接进行 jsencrypt 文件下载并使用
下载链接: https://download.csdn.net/download/m0_64344940/86812930
创建 rsa 文件
// rsa.js
import Jsencrypt from '@/utils/jsencrypt.js'; // 此处是上面的文件引用
let publicKey =
'-----BEGIN PUBLIC KEY-----' + // 必须添加,切记
'' + // 此处使用后端给的公钥
'-----END PUBLIC KEY-----' // 必须添加,切记
// msg 类型为 string 字符串,不能搞错类型,不然生成之后的内容后端会解密失败
export const rsaEncrypt = (msg) => {
const JsRsa = new Jsencrypt()
JsRsa.setPublicKey(publicKey)
return JsRsa.encrypt(msg)
}
在需要的地方引用
本项目是在接口的请求头使用的
import { rsaEncrypt } from '@/utils/rsa.js'
export const request = (option) => {
// 事先定义好,可以防止时间差导致解密出来的时间戳和传值的时间戳不一样
const times = new Date().getTime()
...
header["sign"] = rsaEncrypt(times.toString())
header["timestamp"] = times
}
注意
rsaEncrypt 方法的参数一定要是字符串,不能是其他类型!!!
欢迎各位大神指教,如有错误,麻烦各位大神指出,谢谢
更多推荐
已为社区贡献7条内容
所有评论(0)