mpvue 小程序RSA加密(wx_rsa)

本文介绍了在微信小程序中使用wx_rsa进行RSA加密时遇到的与jsencrypt规范不统一的问题。由于jsencrypt采用pkcs1,而后端使用pkcs8,导致加密错误。解决方案包括在utils创建rsa.js文件、引用wx_rsa.js,以及处理webpack中import和module.exports的不兼容问题,通过修改代码风格或配置.babelrc来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于前后端使用的RSA加密规范不统一,加密方式又再次进行更改,使用微信小程序wx_rsa加密方式,主要是由于jsencrypt自身使用的是pkcs1加密规范,但后端使用的是pkcs8加密规范。哎。。。苦逼!

使用

(1)引用文件
const RSA = require(’./wx_rsa.js’)
wx_rsa可从官网下载,地址:https://github.com/UFO0001/WX_RSA

(2)可以直接在界面中引用,但我选择在utils再创建一个文件rsa.js

const RSA = require('./wx_rsa.js')

export function RSAEncrypt (word, publicKey) {
  let PublicKey = '-----BEGIN PUBLIC KEY-----' + publicKey + '-----END PUBLIC KEY-----'
  let encrypt_rsa = new RSA.RSAKey()
  encrypt_rsa = RSA.KEYUTIL.getKey(PublicKey)
  let encStr = encrypt_rsa.encrypt(word)
  encStr = RSA.hex2b64(encStr)
  return encStr
}

export function RSADecrypt (word, privateKey) {
  let PrivateKey = '-----BEGIN PUBLIC KEY-----' + privateKey + '-----END PUBLIC K
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值