网上的都是js公钥加密例子,解密的例子就不好找。自己写尝试过很多次还是不行,希望帮助
7 回答
qq_日出与幻想_0
TA贡献1条经验 获得超1个赞
菜鸟,几经探索解觉了这个问题
首先根据 jsencrypt 的官方文档,是不支持使用 公钥对数据解密的,最好的方法依然是换个支持的库
百度搜来搜去发现,其实nodejs 里面的 node-rsa 模块是支持这个需求的。 所以就试试了 ,居然跑通了
npm install node-rsa
main.js 中 引入相关组件
let NodeRSA = require('node-rsa'); Vue.prototype.$nodersa = NodeRSA;
在需要解密的地方这样调用
let data = this.GetUrlParam("data"); // 加密后的数据,base64 编码 let key = new this.$nodersa(this.$global.rsa_pubkey); // 设置你的公钥 console.log(key.decryptPublic(data,"utf-8")); // 解密数据
慕前端4074691
TA贡献1条经验 获得超1个赞
jsencrypt没有公钥解密,只能前端公钥加密后台私钥解密。如果想要实现双向加密,就要使用两套密钥。前台向后端发送数据时,使用第一套公钥加密,后台用第一套私钥解密。后台向前台发送数据时,后台使用第二套公钥加密,前台使用第二套私钥解密。
幕布斯6125053
TA贡献1条经验 获得超0个赞
1、 RSADecrypt //var a = this.doPrivate(d); var a = this.doPublic(d);
2、pkcs1unpad2 //return null
就实现了js就可以使用公钥解密,java端私钥加密的文本
添加回答
举报
0/150
提交
取消