118 lines
6.5 KiB
Plaintext
118 lines
6.5 KiB
Plaintext
package com.sercurityControl.proteam.util;
|
||
|
||
import javax.crypto.Cipher;
|
||
import javax.crypto.KeyGenerator;
|
||
import javax.crypto.spec.SecretKeySpec;
|
||
import org.apache.commons.codec.binary.Base64;
|
||
|
||
|
||
/**
|
||
* 前后端数据传输加密工具类
|
||
* @author zyk
|
||
*
|
||
*/
|
||
public class AesEncryptUtils {
|
||
//可配置到Constant中,并读取配置文件注入,16位,自己定义
|
||
public static final String KEY_NAME = "jjqgcjjqgcjijian";
|
||
|
||
|
||
public static final String VIDEO_KEY = "297796CCB81D2553";
|
||
|
||
//参数分别代表 算法名称/加密模式/数据填充方式
|
||
public static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding";
|
||
|
||
/**
|
||
* 加密
|
||
* @param content 加密的字符串
|
||
* @param encryptKey key值
|
||
* @return
|
||
* @throws Exception
|
||
*/
|
||
public static String encrypt(String content, String encryptKey) {
|
||
try{
|
||
KeyGenerator kgen = KeyGenerator.getInstance("AES");
|
||
kgen.init(128);
|
||
Cipher cipher = Cipher.getInstance(ALGORITHMSTR);
|
||
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), "AES"));
|
||
byte[] b = cipher.doFinal(content.getBytes("utf-8"));
|
||
// 采用base64算法进行转码,避免出现中文乱码
|
||
return Base64.encodeBase64String(b);
|
||
|
||
}catch (Exception e){
|
||
|
||
}
|
||
return null;
|
||
|
||
}
|
||
|
||
/**
|
||
* 解密
|
||
* @param encryptStr 解密的字符串
|
||
* @param decryptKey 解密的key值
|
||
* @return
|
||
* @throws Exception
|
||
*/
|
||
public static String decrypt(String encryptStr, 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"));
|
||
|
||
// new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)),"UTF-8");
|
||
// new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)));
|
||
|
||
// 采用base64算法进行转码,避免出现中文乱码
|
||
byte[] encryptBytes = Base64.decodeBase64(encryptStr);
|
||
byte[] decryptBytes = cipher.doFinal(encryptBytes);
|
||
return new String(decryptBytes,"UTF-8");
|
||
}catch (Exception e){
|
||
|
||
}
|
||
return null;
|
||
}
|
||
|
||
|
||
public static String encrypt(String content) throws Exception {
|
||
return encrypt(content, KEY_NAME);
|
||
}
|
||
public static String decrypt(String encryptStr) throws Exception {
|
||
return decrypt(encryptStr, KEY_NAME);
|
||
}
|
||
|
||
|
||
public static void main(String[] args) {
|
||
// String str="address=10.138.219.3&port=29988&user=bns4&epid=system&password=Bns@2023**&fixaddr=0";
|
||
// String rucan = encrypt(str, VIDEO_KEY);
|
||
// System.out.println("加密后:" + rucan);
|
||
// String mm="hc5iBaDAmyS8GHAN9mG6TSr3pInVxpRfOEfqFKdmy8OyJ4P3yJe5t92kVPKogs4JGFdr7iyNTP+Pg4o3v3o0Rh1ltCLnEwV5TyVXEueOrSg=";
|
||
// System.out.println("加密后:" + mm);
|
||
// String data= decrypt(rucan,VIDEO_KEY);
|
||
// System.out.println("解密后:" + data);;
|
||
|
||
String jm = encrypt("{" +
|
||
"\"macId\":\"8F1263E0-B4\"" +
|
||
"}", KEY_NAME);
|
||
String data= decrypt("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",KEY_NAME);
|
||
System.out.println("解密后:" + data);;
|
||
System.out.println("加密后:" + jm);
|
||
String jm2 = encrypt("8F1263E0-B4", KEY_NAME);
|
||
System.out.println("加密后:" + jm2);
|
||
}
|
||
|
||
// public static void main(String[] args) throws Exception {
|
||
// String in = "{\"date\":\"2022-05-06\"}";
|
||
// String rucan = encrypt("8F12497A-20", KEY_NAME);
|
||
// System.out.println("加密后:" + rucan);
|
||
// String out = "3qO06ijUcELmiJgymXD3CbVPiwD1+MGTxWRoC3TWm1CsTsij5kzq82tqAZelfJNqhDnk7MVfHZhgRVpkmU1U81mEemNrt4wVhte3mHbZpqOCHBmgWewBZdi3Vwpa9nYsMccJ5MVDBOYIuzORqx9R9uMzGN2vu78piAVxadJbXPjjtjJ0ybUJUZNiK2pqcPILNNUgoHO/fncy8Vj507uwqG/0DLNe7/9217FtwTyk3QbmjuqxYPzxFJjwbN0h3fjfkxQFNhnFDf22VGNBzPnpjeOOjY9/bRMxZn/CGZ6+UEI=";
|
||
// String chucan = decrypt(out, KEY_NAME);
|
||
// String jm = encrypt(chucan, KEY_NAME);
|
||
// System.out.println("加密后:" + out);
|
||
// System.out.println("加密后:" + jm);
|
||
// System.out.println("解密后:" + chucan);
|
||
// }
|
||
//
|
||
|
||
|
||
}
|