public class CodeUtil {

    private static Logger logger = LoggerFactory.getLog(CodeUtil.class);

    public static final Integer MAX_CODE = 999999;

    /**
     * 加密
     * @param value
     * @return
     */
    public static String encode(String value) {
        logger.info(value);
        value = value.substring(2);
        logger.info(value);
        value = StringUtils.rotate(value, 2);
        logger.info(value);
        Integer tempInteger = MAX_CODE - Integer.valueOf(value);
        logger.info(tempInteger + "");
        value = Integer.toHexString(tempInteger);
        logger.info(value);
        return value;
    }

    /**
     * 解密
     * @param value
     * @return
     */
    public static String decode(String value) {
        logger.info(value);
        Integer tempInteger = Integer.parseInt(value, 16);
        logger.info(tempInteger + "");
        tempInteger = MAX_CODE - tempInteger;
        logger.info(tempInteger + "");
        value = StringUtils.rotate(String.valueOf(tempInteger), -2);
        logger.info(value);
        value = "AB" + value;
        logger.info(value);
        return value;
    }

    public static void main(String[] args) {
        logger.info("加密开始");
        String source = "AB111111";
        encode(source);

        logger.info("解密开始");
        String target = "8fc11";
        decode(target);
    }
}

 

最后修改于 2019-07-02 18:41:16
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇