Java 对字符串数据进行MD5/SHA1哈希散列运算

来源:互联网 发布:拳皇97超强优化版 编辑:程序博客网 时间:2024/05/21 10:04

Java 对字符串数据进行MD5/SHA1哈希散列运算


package cn.aibo.test;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class TestMd5AndSha1 {public static String md5(String data) throws NoSuchAlgorithmException {MessageDigest md = MessageDigest.getInstance("MD5");md.update(data.getBytes());StringBuffer buf = new StringBuffer();byte[] bits = md.digest();for(int i=0;i<bits.length;i++){int a = bits[i];if(a<0) a+=256;if(a<16) buf.append("0");buf.append(Integer.toHexString(a));}return buf.toString();}public static String sha1(String data) throws NoSuchAlgorithmException {MessageDigest md = MessageDigest.getInstance("SHA1");md.update(data.getBytes());StringBuffer buf = new StringBuffer();byte[] bits = md.digest();for(int i=0;i<bits.length;i++){int a = bits[i];if(a<0) a+=256;if(a<16) buf.append("0");buf.append(Integer.toHexString(a));}return buf.toString();}public static void main(String[] args) throws NoSuchAlgorithmException{String data = "abc";//MD5System.out.println("MD5 : "+md5(data));//SHA1System.out.println("SHA1 : "+sha1(data));}}

运算结果

1MD5 : 900150983cd24fb0d6963f7d28e17f72
2SHA1 : a9993e364706816aba3e25717850c26c9cd0d89d
0 0