AES 后台加密 CryptoJS 前台解密demo
2017-12-07 10:00
633 查看
1.引入JS插件包
aes.jscore.js
enc-base64.js
mode-ecb-min.js
pad-nopadding-min.js
2.JS使用
function aesDecrypt(encrypted, key) { console.log("encrypted="+encrypted); var encrypted1 = CryptoJS.enc.Base64.parse(encrypted); var decrypted = CryptoJS.AES.decrypt(encrypted, CryptoJS.enc.Utf8.parse(key), { iv:CryptoJS.enc.Utf8.parse(key), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.NoPadding }); decrypted = CryptoJS.enc.Utf8.stringify(decrypted);// 转换为 utf8 字符串 console.log("decrypted="+decrypted); return decrypted; }
3.java代码
/** * 向js页面 输出参数进行加密 (AES/CBC/NoPadding) * @param data 要加密的数据 * @param key 加密key * @param iv 加密iv * @return 加密的结果 * @throws Exception */ public static String encryptJS(String data, String key, String iv){ try { Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");//"算法/模式/补码方式" int blockSize = cipher.getBlockSize(); byte[] dataBytes = data.getBytes("UTF-8");//如果有中文,记得加密前的字符集 int plaintextLength = dataBytes.length; if (plaintextLength % blockSize != 0) { plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize)); } byte[] plaintext = new byte[plaintextLength]; System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length); SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES"); IvParameterSpec ivspec = new IvParameterSpec(iv.getBytes()); cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec); byte[] encrypted = cipher.doFinal(plaintext); return Base64.encodeBase64String(encrypted); } catch (Exception e) { e.printStackTrace(); return null; } }
相关文章推荐
- 字符串CryptoJS前台加密,pycrypto后台解密(备份一下)
- crypto前台AES加密,后台AES解密
- CryptoJS AES加密、解密练习demo
- Des前台加密、后台解密Demo
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
- JS前台加密,java后台解密实现
- JS前台加密,java后台解密实现
- 如何使用CryptoJS配合Java进行AES加密和解密
- JS前台加密,java后台解密实现
- js前台加密 java后台解密(des)
- 前端用CryptoJS类库的AES加密,后端解密不出来
- ios下使用RSA算法加密与java后台解密配合demo
- Aes加密(Android与Java后台可以正常加解密 )
- iOS,Android,Jave后台AES加密解密
- ios下使用RSA算法加密与java后台解密配合demo
- 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)
- ios下使用RSA算法加密与java后台解密配合demo
- ios下使用RSA算法加密与java后台解密配合demo
- RSA前台加密后台解密