一个简易的加密算法
import java.util.HashMap;
import java.util.Map;
public class SecurityUtils {
private static long slot = 自己指定的slot值;
private static Map<String, String> map = new HashMap<>();
static {
map.put("0", "m");
map.put("1", "q");
map.put("2", "e");
map.put("3", "t");
map.put("4", "u");
map.put("5", "o");
map.put("6", "a");
map.put("7", "d");
map.put("8", "g");
map.put("9", "j");
}
private static Map<String, String> revserMap = new HashMap<>();
static {
revserMap.put("m", "0");
revserMap.put("q", "1");
revserMap.put("e", "2");
revserMap.put("t", "3");
revserMap.put("u", "4");
revserMap.put("o", "5");
revserMap.put("a", "6");
revserMap.put("d", "7");
revserMap.put("g", "8");
revserMap.put("j", "9");
}
public static String jiami(long orig){
long sum = orig + slot;
String str = String.valueOf(sum);
char[] chars = str.toCharArray();
StringBuilder newStr = new StringBuilder();
for (int i = 0; i < chars.length; i++){
newStr.append(map.get(String.valueOf(chars[i])));
}
return newStr.toString();
}
public static long jiemi(String str){
StringBuilder newStr = new StringBuilder();
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++){
newStr.append(revserMap.get(String.valueOf(chars[i])));
}
long sum = Long.parseLong(newStr.toString());
return sum - slot;
}
public static void main(String[] args) {
for(int i = 1; i < 11000000; i++) {
long time = System.currentTimeMillis();
String jiami = jiami(i);
long jiemi = jiemi(jiami);
// System.out.println("耗时:" + (System.currentTimeMillis() - time));
if(jiemi == i){
System.out.println("加密:" + jiami + "揭秘:" + jiemi);
}else {
System.out.println("加密错误");
}
}
}
}