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); } }
05-15 12:53