/**
* 文件名:GenMD5.java
* 环境: GNU/Linux Ubuntu 7.04 + Eclipse 3.2 + JDK 1.6
* 功能:从String生成MD5序列
* 版本:0.0.1.0
* 作者:88250
* 日期:2007.5.10
* E-mail & MDN: DL88250@gmail.com
* QQ:845765
*/
import java.security.MessageDigest;
public class GenMD5
{
public static void main(String[] args)
{
System.out.println(compute("Test!"));
}
/**
* Computes the MD5 fingerprint of a string.
*
* @return the MD5 digest of the input <code>String</code>
*/
public static String compute(String inStr)
{
// convert input String to a char[]
// convert that char[] to byte[]
// get the md5 digest as byte[]
// bit-wise AND that byte[] with 0xff
// divpend "0" to the output StringBuffer to make sure that we don't end
// up with
// something like "e21ff" instead of "e201ff"
MessageDigest md5 = null;
try
{
md5 = MessageDigest.getInstance("MD5");
}
catch (Exception e)
{
System.out.println(e.toString());
e.printStackTrace();
return "";
}
char[] charArray = inStr.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++)
{
byteArray[i] = (byte) charArray[i];
}
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++)
{
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16)
{
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
}
* 文件名:GenMD5.java
* 环境: GNU/Linux Ubuntu 7.04 + Eclipse 3.2 + JDK 1.6
* 功能:从String生成MD5序列
* 版本:0.0.1.0
* 作者:88250
* 日期:2007.5.10
* E-mail & MDN: DL88250@gmail.com
* QQ:845765
*/
import java.security.MessageDigest;
public class GenMD5
{
public static void main(String[] args)
{
System.out.println(compute("Test!"));
}
/**
* Computes the MD5 fingerprint of a string.
*
* @return the MD5 digest of the input <code>String</code>
*/
public static String compute(String inStr)
{
// convert input String to a char[]
// convert that char[] to byte[]
// get the md5 digest as byte[]
// bit-wise AND that byte[] with 0xff
// divpend "0" to the output StringBuffer to make sure that we don't end
// up with
// something like "e21ff" instead of "e201ff"
MessageDigest md5 = null;
try
{
md5 = MessageDigest.getInstance("MD5");
}
catch (Exception e)
{
System.out.println(e.toString());
e.printStackTrace();
return "";
}
char[] charArray = inStr.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++)
{
byteArray[i] = (byte) charArray[i];
}
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++)
{
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16)
{
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
}