文件名称:JS客户端RSA加密,Java服务端解密
文件大小:15KB
文件格式:JAVA
更新时间:2015-10-12 05:08:50
Javascript RSA算法 注册 登录 密码
在客户端浏览器,Javascript使用RSA算法,以公钥对密码进行加密,服务端使用相应的私钥进行解密。一般用于注册时或登录时填写的密码。 Java引用到的包: commons-lang bouncycastle slf4j commons-codec commons-io // Struts2 Action方法中: // 将公钥的 modulus 和 exponent 传给页面。 // Hex -> apache commons-codec RSAPublicKey publicKey = RSAUtils.getDefaultPublicKey(); ActionContext.getContext().put("modulus", new String(Hex.encodeHex(publicKey.getModulus().toByteArray()))); ActionContext.getContext().put("exponent", new String(Hex.encodeHex(publicKey.getPublicExponent().toByteArray()))); // 页面里,Javascript对明文进行加密: 09 var modulus = $('#hid_modulus').val(); var exponent = $('#hid_exponent').val(); var key = RSAUtils.getKeyPair(exponent, '', modulus); pwd1 = RSAUtils.encryptedString(key, pwd1); pwd2 = RSAUtils.encryptedString(key, pwd2); // 服务器端,使用RSAUtils工具类对密文进行解密 RSAUtils.decryptStringByJs(password1);