首页 > 代码库 > JAVA WEB实现前端加密后台解密
JAVA WEB实现前端加密后台解密
最近在研究登陆密码的加密,下边上具体代码,只是给出核心代码,具体的代码视业务而定吧,给位有什么问题或者意见请留言。
加密方法用的是AES-128-CBC,BASE64用的是org.apache.commons.codec.binary.Base64
JS代码:
var password = "1234567890,./";var key = CryptoJS.enc.Utf8.parse("0102030405060708");//密钥,128位加密密钥为16位var content= CryptoJS.enc.Utf8.parse(password);//需要加密的内容var encrypted = CryptoJS.AES.encrypt(content, key, {iv: key,mode:CryptoJS.mode.CBC}); //加密内容
JAVA代码Action:
String content= request.getParameter("content");//前台传过来的加密之后的数据String key = "0102030405060708";IvParameterSpec iv = new IvParameterSpec(key.getBytes());String a = AESUtil.Decrypt(content, key, iv);System.out.println(a);
JAVA代码Util:
//解密 public static String Decrypt(String content, String key,IvParameterSpec iv) throws Exception{ byte[] raw = key.getBytes("ASCII"); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv); byte[] encrypted1 = Base64.decodeBase64(content);//先用bAES64解密 byte[] original = cipher.doFinal(encrypted1); String originalString = new String(original,"UTF-8"); return originalString; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。