前后端分离的Rsa加解密如何实现呢?

想知道如何在前后端分离(Vue+springboot)下,想实现RSA加密表单输入的登录密码,传输入后端在解密呢?
网上查询了一下,感觉有点零散,只知道后端生成公钥私钥,前端接受公钥,并用jsencry.js,加密,在返回给后端解密。
不知道各位大佬有没有相应的教程,比较完整一点,前端和后端都有详细说明的,谢谢啦!

阅读 3.6k
2 个回答

生成公钥私钥就不用说了吧

前端
安装jsencrypt

npm i jsencrypt --save
var encrypt = new JSEncrypt();
var public_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyfEuMt351kG8e2ZSN47rp95dY\nTX4rGHdGXrx+mFwm5W7VZlrmtY07QJNUJ0myQragBUiYLSNeVSysSLbNOUDBAs1i\nPcb/QG++UzmJhCDjf1+GJANHtfLI7CDaFM1aoa/7C09qWkds7n0QdpT5iLPCOS6C\nVYq5DBv5mDgUeAwleQIDAQAB\n";
encrypt.setPublicKey(public_key);
let username  = encrypt.encrypt('username');

username变量就是加密好的字符串,和普通的字符串一样发到后端就行了

后端
后端接收到字符串后用相应的java库通过私钥解密就行了,就如同base64 encode和decode的原理一样,之前用php写的,没有java的代码,所以只能帮到这了

新手上路,请多包涵

你这样不好呀 前端去加密 那key什么的用户也可以看得到吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题