第一次使用android中的md5加密算法,进行了一个简单的加密运算。下面给大家分享一下使用android中使用md5的方法
/**
* 对当前用户和密码进行MD5加密
* @return
*/
public static String MD5EncryptedString() throws NoSuchAlgorithmException {
String str = 1111111+"abcd"+2222222+"defg" ;
MessageDigest md = MessageDigest.getInstance("MD5") ;
md.update(str.getBytes());
byte[] b = md.digest() ;
return getString(b) ; }
private static String getString(byte[] b){
StringBuffer sb = new StringBuffer() ;
for (int i =0 ;i<b.length;i++){
//下面的Integer.toHexString是把十六进制的数字,转换成字符串并且全部转换成大写
sb.append(Integer.toHexString(b[i] & 0XFF).toUpperCase()) ;
}
return sb.toString() ;
}
经过上面的运算之后就会得到一串已经加密好的一串字符串了。
但是经过上面加密出来的字符串会少一位0,如果大家在使用时需要32位的 可以经过下面的代码进行调整
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 MD5EncryptedString() throws NoSuchAlgorithmException {
String str = 1111111+"abcd"+2222222+"defg" ;
MessageDigest md = MessageDigest.getInstance("MD5") ;
md.update(str.getBytes());
byte[] b = md.digest() ;
return getString(b) ;
}
private static String getString(byte[] b) {
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();
}
在使用上面来说还是比较简单使用的,有问题的一起研究研究。