
com.app.common.encrypt.EncryptionUtil Maven / Gradle / Ivy
package com.app.common.encrypt;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSON;
import com.app.common.utils.RandomUtil;
public class EncryptionUtil {
private static Logger logger = LoggerFactory.getLogger(EncryptionUtil.class);
public static String DecryptData(boolean isencry, String content, String privatekey) throws Exception {
String str = content;
if (isencry) {
EncryData ed = JSON.parseObject(content, EncryData.class);
// 解密
str = DecryptData(isencry, ed.data, ed.encryptkey, privatekey);
}
return str;
}
public static String DecryptData(boolean isencry, String data, String encryptkey, String privatekey)
throws Exception {
String str = data;
if (isencry) {
String AESKey = RSA.decrypt(encryptkey, privatekey);
String decryptData = AES.decryptFromBase64(data, AESKey);
str = decryptData;
// logger.info("decryptData:{}", str);
}
return str;
}
public static String EncryData(boolean isencry, String content, String publickey) throws Exception {
String str = content;
if (isencry) {
EncryData ed = new EncryData();
String AESKey = RandomUtil.getRandom(16);
ed.data = AES.encryptToBase64(content, AESKey);
ed.encryptkey = RSA.encrypt(AESKey, publickey);
str = JSON.toJSONString(ed);
// logger.info("encryData:{}", str);
}
return str;
}
public static Object EncryData(boolean isencry, Object o, String publickey) throws Exception {
Object obj = o;
if (isencry) {
String content = JSON.toJSONString(o);
EncryData ed = new EncryData();
String AESKey = RandomUtil.getRandom(16);
ed.data = AES.encryptToBase64(content, AESKey);
ed.encryptkey = RSA.encrypt(AESKey, publickey);
obj = ed;
}
return obj;
}
public static Map EncryDataToMap(boolean isencry, Object o, String publickey) {
Map map = new HashMap();
if (isencry) {
try {
String content = JSON.toJSONString(o);
EncryData ed = new EncryData();
String AESKey = RandomUtil.getRandom(16);
ed.data = AES.encryptToBase64(content, AESKey);
ed.encryptkey = RSA.encrypt(AESKey, publickey);
map.put("data", ed.data);
map.put("encryptkey", ed.encryptkey);
} catch (Exception e) {
logger.error("", e);
}
}
return map;
}
// 对字符串进行md5加密
public static String md5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte[] b = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
int v = (int) b[i];
v = v < 0 ? 0x100 + v : v;
String cc = Integer.toHexString(v);
if (cc.length() == 1)
sb.append('0');
sb.append(cc);
}
return sb.toString();
} catch (Exception e) {
}
return "";
}
// 对字符串进行sha256加密
public static String sha256(String str) {
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(str.getBytes());
byte[] b = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
int v = (int) b[i];
v = v < 0 ? 0x100 + v : v;
String cc = Integer.toHexString(v);
if (cc.length() == 1)
sb.append('0');
sb.append(cc);
}
return sb.toString();
} catch (Exception e) {
}
return "";
}
// 对字符串进行sha1加密
public static String sha1(String str) {
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(str.getBytes());
byte[] b = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
int v = (int) b[i];
v = v < 0 ? 0x100 + v : v;
String cc = Integer.toHexString(v);
if (cc.length() == 1)
sb.append('0');
sb.append(cc);
}
return sb.toString();
} catch (Exception e) {
}
return "";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy