java信息摘要的代码
import java.util.List;
import java.util.ArrayList;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class TestMessageDigest {
public static void main(String[] args){
String input = "012345678901234567890123456789";
//String input = "0123456789012345678901234567890123456789123456789";
try{
byte[] hash = getHash(input);
String hash_str = byte2hex(hash);
System.out.println(hash_str);
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}
}
//对输入字符串做信息摘要
private static byte[] getHash(String in) throws NoSuchAlgorithmException {
System.out.println(in);
MessageDigest md = MessageDigest.getInstance("MD5");//MD5,SHA-1,SHA-256等
md.update(in.getBytes());
return md.digest();
}
//byte转16进制字符串
private static String byte2hex(byte[] b)
{
String hs="";
String stmp="";
for (int n=0;n<b.length;n++)
{
stmp=(java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length()==1) hs=hs+"0"+stmp;
else hs=hs+stmp;
}
return hs.toUpperCase();
}
}