zoukankan      html  css  js  c++  java
  • 一个简易的加密算法

    一个简易的加密算法

    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("加密错误");
                }
            }
        }
    }
    

      

  • 相关阅读:
    oracle 删除表中重复数据留一条
    C# 特性
    oracle 常用简单命令语句
    2017年学习计划
    java web开发基础学习
    Java Axis2支持json
    java基础教程
    axis2 发布webservice
    孤荷凌寒自学python第103天认识区块链017
    孤荷凌寒自学python第102天认识区块链016
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/15216147.html
Copyright © 2011-2022 走看看