微信后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.8 KiB

package com.ynxbd.wx.wxfactory;
import com.ynxbd.common.helper.common.AesHelper;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.ObjectUtils;
import java.math.BigDecimal;
/**
* 请求参数加密处理
*/
public class AesWxHelper extends AesHelper {
private static final String KEY = "wsqysqsdssjtwmyd";
private static final String IV = "xbdynwdykkrinkll";
/**
* 加密
*/
public static String encode(String data) {
return encryptHex(data, KEY, IV);
}
public static String encode(BigDecimal data) {
if (data == null) {
return null;
}
return encryptHex(data.toString(), KEY, IV);
}
/**
* 加密
*
* @param data 数据
* @param isDataNotNull 是否允许为空
* @return string
*/
public static String encode(String data, boolean isDataNotNull) {
if (isDataNotNull && ObjectUtils.isEmpty(data)) {
return null;
}
return encryptHex(data, KEY, IV);
}
/**
* 解密
*/
public static String decode(String enData) {
if (ObjectUtils.isEmpty(enData)) return null;
return decryptHex(enData, KEY, IV);
}
public static BigDecimal decodeBigDecimal(String enData) {
try {
String data = decode(enData);
if (data == null) {
return null;
}
return new BigDecimal(data);
} catch (Exception e) {
return null;
}
}
public static void main(String[] args) {
// System.out.println(encode("162423"));
System.out.println(DigestUtils.md5Hex("4500000488202609203820674636G001" + "xbd" + "0704" + "xbd" + "*").toUpperCase());
// System.out.println(decode("E6835E243069406F53EC8464898B37C0"));
}
}