使用RSA非对称加密登陆界面登陆密码,防止明文传输

 一、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 = 

你可能感兴趣的:(java,RSA,加密,密码,加密)