一、RSA的概念
RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用,在java中可用作表单密码加密,工作原理可理大致是,首先服务器端会产生一对公钥和私钥,然后客户端在需要加密的时候会异步请求服务器端,获取公钥,并利用公钥进行加密操作(加密表单密码元素),服务器端收到加了密的用户密码,再使用私钥进行解密,从而获取加密前的明文密码。由于仅仅有了公钥并不能解密,必须使用服务器的私钥解码,所以在web端的项目中使用时能提高密码的安全性。
二、实现过程(代码)
1.需要jar包以及js插件:bcprov-ext-jdk15on-1.55.jar,jquery.jcryption-1.1.js(附件有)
2. 登陆页面,分2种:
第一种直接是表单form提交:处理思路是提交ajax请求异步获得公钥,使用jquery获取页面所有type='password'的input框,然后循环遍历,并同时将加密的密码值放到对应的type='password'的input框中,然后点击提交按钮即可发送请求
第二种是点击按钮后使用ajax请求提交:
js代码:
/**
* 单击登陆按钮
*/
$("#logInpt").click(function(){
//访问后台获取公钥
$.jCryption.getKeys(url,function(receivedKeys){ // 异步请求获取用来加密的公钥
keys =