Androidの下のMD 5暗号化

1399 ワード

ネット上ではandroid下MD 5暗号化に関する資料が多いが、テストしてみるといつもサイトのmd 5暗号化とは違っていて、符号化方式が間違っていることが分かったので、自分で書いた.
 
private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',  
        'A', 'B', 'C', 'D', 'E', 'F' };  
public static String toHexString(byte[] b) {  
    //String to  byte  
    StringBuilder sb = new StringBuilder(b.length * 2);    
    for (int i = 0; i < b.length; i++) {    
        sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);    
        sb.append(HEX_DIGITS[b[i] & 0x0f]);    
    }    
    return sb.toString();    
}  
public String md5(String s) {  
    try {  
        // Create MD5 Hash  
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");  
        digest.update(s.getBytes());  
        byte messageDigest[] = digest.digest();  
                                  
        return toHexString(messageDigest);  
    } catch (NoSuchAlgorithmException e) {  
        e.printStackTrace();  
    }  
                          
    return "";  
}  
 
http://www.cnblogs.com/top5/archive/2012/05/05/2484939.html