AES前端加密后端解密
来源:互联网 发布:移动宽带看网络电视卡 编辑:程序博客网 时间:2024/06/05 16:32
欢迎阅读AES前端加密后端解密
目录
- 前端js加密
<script src="js/crypto-js/3.1.2/components/core.js"></script><script src="js/crypto-js/3.1.2/components/core-min.js"></script><script src="js/crypto-js/3.1.2/rollups/aes.js"></script><script src="js/crypto-js/3.1.2/components/aes-min.js"></script><script src="js/crypto-js/3.1.2/components/md5.js"></script><script src="js/crypto-js/3.1.2/components/md5-min.js"></script><script src="js/crypto-js/3.1.2/components/enc-base64.js"></script> <script src="js/crypto-js/3.1.2/components/cipher-core.js"></script> <script src="js/crypto-js/3.1.2/components/mode-ecb-min.js"></script><script> function encryptFun(){ var data = "123456"; var key= "1234567890abcdef";//key长度必须是16的倍数 var srcs = CryptoJS.enc.Utf8.parse(data); if(key== ""){ key= random(16); $("#key").val(generateString); } var key = CryptoJS.enc.Utf8.parse(generateString); var encryptedData = CryptoJS.AES.encrypt(srcs, key, { mode:CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); //加密后结果 var encrypted = encryptedData.toString(); console.log("加密结果:" + encrypted); return encrypted; } //解密 function decryptFun(message){ var decrypted = CryptoJS.AES.decrypt(message,key,{ mode : CryptoJS.mode.ECB, padding : CryptoJS.pad.Pkcs7 }); var decrypt = CryptoJS.enc.Utf8.stringify(decrypt).toString(); console.log("解密结果:" + decrypt); return decrypt; }</script>
- 后端java解密
package cn.com.bankit.bwp.common.util;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.KeyGenerator;import javax.crypto.NoSuchPaddingException;import javax.crypto.spec.SecretKeySpec;import org.apache.commons.codec.binary.Base64;public class EncryptUtils { private static final String KEY = "abcdefgabcdefg12"; private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding"; public static String base64Encode(byte[] bytes){ return Base64.encodeBase64String(bytes); } public static byte[] base64Decode(String base64Code) throws Exception{ //return new BASE64Decoder().decodeBuffer(base64Code); return Base64.decodeBase64(base64Code.getBytes("UTF-8")); } public static byte[] aesEncryptToBytes(String content, String encryptKey) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); Cipher cipher = Cipher.getInstance(ALGORITHMSTR); cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), "AES")); return cipher.doFinal(content.getBytes("utf-8")); } public static String aesEncrypt(String content, String encryptKey) throws Exception { return base64Encode(aesEncryptToBytes(content, encryptKey)); } public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); Cipher cipher = Cipher.getInstance(ALGORITHMSTR); cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), "AES")); byte[] decryptBytes = cipher.doFinal(encryptBytes); return new String(decryptBytes); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { e.printStackTrace(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } return null; } public static String aesDecrypt(String encryptStr, String decryptKey) throws Exception { return aesDecryptByBytes(base64Decode(encryptStr), decryptKey); } /** * 测试 * */ public static void main(String[] args) throws Exception { String content = "Test String么么哒"; //0gqIDaFNAAmwvv3tKsFOFf9P9m/6MWlmtB8SspgxqpWKYnELb/lXkyXm7P4sMf3e System.out.println("加密前:" + content); System.out.println("加密密钥和解密密钥:" + KEY); String encrypt = aesEncrypt(content, KEY); System.out.println(encrypt.length()+":加密后:" + encrypt); String decrypt = aesDecrypt(encrypt, KEY); System.out.println("解密后:" + decrypt); }}
阅读全文
0 0
- AES前端加密后端解密
- java 前端页面AES加密数据 后端AES解密
- RSA前端加密后端解密
- RSA前端加密后端解密
- 前端用CryptoJS类库的AES加密,后端解密不出来
- Javascript实现前端AES加密解密功能
- AES加密解密ECB方式 JAVA服务器加密前端解密
- RSA非对称性前端加密后端解密
- base64之前端加密后端解密
- 前端登陆加密和后端解密
- 关于base64前端加密,后端解密
- PHP开发过程中AES加密解密问题 js前端AES加密,PHP解密
- 前端加密后端解密之Base64通用加密处理
- RSA前端JS加密,后端JAVA解密实现
- RSA前端JS加密,后端JAVA解密实现
- RSA前端JS加密,后端JAVA解密实现
- Java 前端加密传输后端解密以及验证码功能
- Java 前端加密传输后端解密以及验证码功能
- hibernate事务
- 神经网络机器翻译模型介绍
- 六-4 检查和编辑页面和样式 编辑DOM
- zabbix3.2 自定义图像模板
- 开源MQTT中间件:moquette
- AES前端加密后端解密
- 关于python3的一些编码问题
- hibernate优化方案
- 云时代的新物种“神龙云服务器”,你造吗?
- Ubuntu 16.04 配置中文输入法
- 5.配置mongo命令行
- Mybatis逆向工程POJO
- 构造数组的MaxTree
- 用java写个GUI界面,实现桌面托盘,并能够实现从数据库获取数据,播放音乐