package com.mm.android.deviceaddmodule.mobilecommon.utils;
|
|
import android.text.TextUtils;
|
import java.security.MessageDigest;
|
import java.security.NoSuchAlgorithmException;
|
|
public class MD5Helper
|
{
|
private static byte[] hex = new byte[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
|
/**
|
* 对字符串进行MD5加密
|
* @param rawString 要加密的字符串
|
* @return MD5摘要码
|
*/
|
public static byte[] encode2byte(String rawString) {
|
if (TextUtils.isEmpty(rawString)) {
|
return null;
|
}try {
|
MessageDigest md5 = MessageDigest.getInstance("MD5");
|
md5.update(rawString.getBytes());
|
return md5.digest();
|
} catch (NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
|
/**
|
* 对字符串进行MD5加密
|
* @param rawString 要加密的字符串
|
* @return MD5摘要码
|
*/
|
public static String encode(String rawString)
|
{
|
String md5String = null;
|
if (TextUtils.isEmpty(rawString)) {
|
return md5String;
|
}
|
try
|
{
|
MessageDigest md5 = MessageDigest.getInstance("MD5");
|
md5.update(rawString.getBytes());
|
md5String = convertToHexString(md5.digest());
|
}
|
catch (NoSuchAlgorithmException e)
|
{
|
e.printStackTrace();
|
}
|
|
if (null != md5String)
|
{
|
return md5String.toUpperCase();
|
}
|
|
return md5String;
|
}
|
|
|
public static String encodeToLowerCase(String rawString){
|
String mD5String = encode(rawString);
|
if (TextUtils.isEmpty(mD5String)) {
|
return mD5String;
|
}
|
return mD5String.toLowerCase();
|
}
|
|
private static String convertToHexString(byte[] digests)
|
{
|
byte[] md5String = new byte[digests.length * 2];
|
|
int index = 0;
|
for (byte digest : digests)
|
{
|
md5String[index] = hex[(digest >> 4) & 0x0F];
|
md5String[index + 1] = hex[digest &0x0F];
|
index += 2;
|
}
|
|
return new String(md5String);
|
}
|
}
|