zoukankan      html  css  js  c++  java
  • MD5加密算法

    1>MD5加密算法(32位密文小写)

    /**
     * MD5加密
     * @param s 需要加密的字符串
     * @return  返回密文
     */
    public static String md5(String s) {
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");  
            md5.update((s).getBytes("UTF-8"));  
            byte b[] = md5.digest();  
            int i;  
            StringBuffer buf = new StringBuffer("");  
            for(int j=0; j<b.length; j++){  
                i = b[j];  
                System.out.println("--0-->"+i);
                if(i<0){  
                    i+=256;  
                }  
                if(i<16){  
                    buf.append("0");  
                }  
           //Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).substring(6)
                //byteVar & 0x000000FF的作用是,如果byteVar是负数,则会清除前面24个零,正的byte整型不受影响。(...) | 0xFFFFFF00的作用是,如果byteVar 是正数,则置前24位为一,这样toHexString输出一个小于等于15的byte整型的十六进制时,倒数第二位为零且不会被丢弃,这样可以通过substring方法进行截取最后两位即可。 //byteVar & 0x000000FF <==> byteVar + 256
           buf.append(Integer.toHexString(i)); }
    return buf.toString(); } catch (Exception e) { e.printStackTrace(); return null; } }

    2>MD5加密算法(32位密文大写)

      直接使用str.toUpperCase() 即可;

    3>MD5加密算法(16位的)

      直接截取32位的str.subString(8,24) 即可;

  • 相关阅读:
    springMVC总结
    spring总结
    dubbo文档
    mysql集群
    JVM-优化
    JVM-GC日志打印
    JVM-垃圾回收
    JVM-问题定位示例
    C++11
    《疯狂的程序员》
  • 原文地址:https://www.cnblogs.com/yuxin-555xt/p/7941094.html
Copyright © 2011-2022 走看看