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位密文大寫)app

  直接使用str.toUpperCase() 便可;加密

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

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

相關文章
相關標籤/搜索