zoukankan      html  css  js  c++  java
  • 【java】MD5加密工具

    MD5:

    /**
     * 对指定字段进行MD5加密
     * 参数为空或发生异常都会返回 @PASE—_FAIL (-1)
     * @author ZX
     * @date 2018年09月10日16:03:07
     * return String
     * eg:
     * 124756EF340DAF80196B4124686D651C
     * A0C83707B5438E080655DF34A78142F4
     * F899139DF5E1059396431415E770C6DD
     * F899139DF5E1059396431415E770C6DD
     */
    public class MD5Util {
    
        private static final String PASE_FAIL="-1";
    
        /**
         * 加密Integer(返回字符串,加密后持有字符,无法返回int)
         * @param key
         * @return
         */
        public static String toMD5Str(Integer key) {
            if(key==null){
                return PASE_FAIL;
            }
            return toMD5Str(key.toString());
        }
    
        /**
         * 加密Long
         * @param key
         * @return
         */
        public static String toMD5Str(Long key) {
            if(key==null){
                return PASE_FAIL;
            }
            return toMD5Str(key.toString());
        }
    
        /**
         * 加密str
         * @param key
         * @return
         */
        public static String toMD5Str(String key) {
            if(key==null||"".equals(key)){
                return PASE_FAIL;
            }
    
            char hexDigits[] = {
                    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
            };
            try {
                byte[] btInput = key.getBytes();
                // 获得MD5摘要算法的 MessageDigest 对象
                MessageDigest mdInst = MessageDigest.getInstance("MD5");
                // 使用指定的字节更新摘要
                mdInst.update(btInput);
                // 获得密文
                byte[] md = mdInst.digest();
                // 把密文转换成十六进制的字符串形式
                int j = md.length;
                char str[] = new char[j * 2];
                int k = 0;
                for (int i = 0; i < j; i++) {
                    byte byte0 = md[i];
                    str[k++] = hexDigits[byte0 >>> 4 & 0xf];
                    str[k++] = hexDigits[byte0 & 0xf];
                }
                return new String(str);
            } catch (Exception e) {
                return PASE_FAIL;
            }
        }
    
    
    }
  • 相关阅读:
    Flex布局新写法兼容写法详解
    一个CSS值转REM的Sublime Text插件
    Oracle SQL函数之转换函数To_char汇总
    Oracle SQL函数之日期函数
    Oracle SQL函数之数学函数
    Oracle SQL函数之字符串函数
    Sybase isql常用命令
    sybase用户管理(创建、授权、删除)
    使用isql连接Sybase ASE数据库的常见错误及处理方式
    Sybase配置中文语言支持及字符集
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054048.html
Copyright © 2011-2022 走看看