1、字符编码位移加密、解密
package com.galaxy.secruity.util;
import java.lang.reflect.Field;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import com.galaxy.annotation.DBColumn;
import com.galaxy.bean.util.FormHeadDTO;
import com.galaxy.bean.util.TFormAccomCharge;
import com.galaxy.bean.util.TFormChargeInfo;
import com.galaxy.bean.util.TFormCommonCharge;
import com.galaxy.bean.util.TFormHead;
import com.galaxy.bean.util.TFormItransCharge;
import com.galaxy.bean.util.TFormPaymentDate;
import com.galaxy.bean.util.TFormPaymentDetail;
import com.galaxy.bean.util.TSysTableFieldInfo;
import com.galaxy.sqldao.executor.DBConnection;
import com.galaxy.sqldao.executor.JdbcExcuteUtil;
import com.galaxy.sqldao.executor.SQLParam;
import com.galaxy.sys.info.Propertise;
public class EncodeUtil {
public static String encode(String str, String algorith) throws NoSuchAlgorithmException{
MessageDigest md = MessageDigest.getInstance(algorith);
byte[] digest = md.digest(str.getBytes());
return convertByteToString(digest);
}
private static String convertByteToString(byte[] bytes) {
String result = "";
for (int i = 0; i <bytes.length; i++) {
int temp = bytes[i] & 0xff;
String tempHex = Integer.toHexString(temp);
System.out.println(tempHex);
if (tempHex.length()<2) {
result += "0"+tempHex;
} else {
result += tempHex;
}
}
return result;
}
public static String encodeASCII(String text) {
String result;
char[] chars = text.toCharArray();
char[] chRes = new char[chars.length];
for (int i = 0; i < chars.length; i++) {
if ((chars[i] >= 'A' && chars[i] < 'Z') || (chars[i] >= 'a' && chars[i] < 'z')) {
chRes[i] = (char) (chars[i] + 1);
} else if (chars[i] == 'z') {
chRes[i] = 'a';
} else if (chars[i] == 'Z') {
chRes[i] = 'A';
} else {
chRes[i] = chars[i];
}
}
result = String.valueOf(chRes);
return result;
}
public static String decodeASCII(String text) {
String result;
char[] chars = text.toCharArray();
char[] chRes = new char[chars.length];
for (int i = 0; i < chars.length; i++) {
if ((chars[i] > 'A' && chars[i] <= 'Z') || (chars[i] > 'a' && chars[i] <= 'z')) {
chRes[i] = (char) (chars[i] - 1);
} else if (chars[i] == 'a') {
chRes[i] = 'z';
} else if (chars[i] == 'A') {
chRes[i] = 'Z';
} else {
chRes[i] = chars[i];
}
}
result = String.valueOf(chRes);
return result;
}
public static void main(String[] args) {
System.out.println("解密结果:"+decodeASCII("jowpjdfBnpvou"));
System.out.println("加密:"+encodeASCII("authReleaseBudget"));
System.out.println("加密:"+encodeASCII("headTaxAmountSum"));
}
}