package nicetime.com.practise;

import java.security.MessageDigest;

/**
* MD5加密是JAVA应用中常见的算法,请写出两个MD5算法生成32位大写的CapitalMD5方法 和 生成32位小写的 AngelinaMD5 方法
*/
public class Md5Util
{
//MD5算法生成32位小写
public String AngelinaMD5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");

md.update(str.getBytes());

byte b[] = md.digest();

int i=0;

StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
} catch (Exception e) {
e.printStackTrace();

}
return str;
}

//MD5算法生成32位大写
public String CapitalMD5(String str)
{
String result=null;

result=AngelinaMD5(str).toUpperCase();

return result;
}

public static void main(String[] args)
{
//加密的字符串
String str="testMd5Str";
String smallResult=null;
String bigResult=null;

Md5Util md5=new Md5Util();

smallResult=md5.AngelinaMD5(str);

System.out.println("smallResult_length="+smallResult.length()+"smallResult="+smallResult);

bigResult=md5.CapitalMD5(str);

System.out.println("--bigResult_length="+bigResult.length()+"--bigResult="+bigResult);

}

}
posted on 2018-11-27 11:17  新美好时代  阅读(479)  评论(0编辑  收藏  举报