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;    
    }    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM