您的位置:首页 > 其它

MD5加密

2015-10-28 23:49 106 查看
因为md5加密后得到的数据是128位的字节数组,第一种方法把数组转换成16进制输出.

import java.security.MessageDigest;

public class MD5Utils {

public static String md5(String text, String encoding) throws Exception{

MessageDigest msgDigest = null;

msgDigest = MessageDigest.getInstance("MD5");

byte[] bytes = null;

if (encoding == null || encoding.equals("")) {

bytes = msgDigest.digest(text.getBytes());

} else {

bytes = msgDigest.digest(text.getBytes(encoding));

}

String md5Str = bytesToHex(bytes);

return md5Str;

}

private static String bytesToHex(byte[] paramArrayOfByte)

{

String str1 = "";

String str2 = "";

for (int i = 0; i < paramArrayOfByte.length; ++i)

{

str2 = Integer.toHexString(paramArrayOfByte[i] & 0xFF);

if (str2.length() == 1)

str1 = str1 + "0";

str1 = str1 + str2;

}

return str1;

}

}

第二种结合base64加密

public static String encrypt(String origStr) throws NoSuchAlgorithmException {

MessageDigest md = MessageDigest.getInstance("MD5");

byte[] buf = md.digest(origStr.getBytes());

BASE64Encoder base = new BASE64Encoder();

String str = base.encode(buf);

return str;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: