IntelligentRecognition/ah-jjsp-service/.svn/pristine/d9/d9931f1d5d47a88d0b5fc3ccafd...

118 lines
6.5 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
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);
// }
//
}