rsa前端加密,解密,签名,解签,总结一波(亲身尝试)

用到的js插件:

import JSEncrypt from 'encryptlong'

import JSONBing from "json-bigint"

import CryptoJS from 'crypto-js'

var pubKey = 'MIGfMA0GCSqGSIb3DQE多多少少所s8M2G8WJhsTOvMwLl7D3loYmUCqE+NfTwIDAQAB'

let priKeyTwo  = 'MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ17qUEhQ/mCDNUvbVUqnpx7LLjfCKIfWyt+HlBvLBnHdGRQYPXAUVXLEyPUuvYNCsJjaH9oVE8TR82zCWlWKhJelX+SnXxgNIS5jN7/RSMF'

var encryptor = new JSEncrypt()  // 创建加密对象实例

encryptor.setPublicKey(pubKey)//设置公钥

encryptor.setPrivateKey(priKeyTwo);//设置私钥

加密:encryptor.encryptLong("需要加密的字符串")

解密:encryptor.decryptLong("需要解密的字符串")

 const jsonbig=JSONBing({

          storeAsString: true

   })

这个需要后台加密之前先编码一次,不然对于分段加密,汉子三个字符会被切割,导致前台解密的时候,在分割点出解密出现乱码。

jsonbig.parse(decodeURIComponent(uncrypted.replace(/\+/g, '%20')))

这个是处理字符串里面value值太长以及空格展示问题

sign(需要签名的字符串)

签名:encryptor.sign(sign,CryptoJS.MD5,"md5");

解签: encryptor.verify(sign,encryptor.sign(sign,CryptoJS.MD5,"md5"),CryptoJS.MD5);    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值