1. 程式人生 > >工具類之生成MD5

工具類之生成MD5

首先關於MD5這種加密演算法,我就不解釋了,網上有很多。而Java 運用java.security.MessageDigest來實現MD5,SHA這種雜湊函式 ,(以前老師上課都講過的,可惜當時因為選修課,沒怎麼注意聽講o((⊙﹏⊙))o.)  這裡推薦一篇文章,大家可以看看:文章。

話不多說,直接貼程式碼了:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {

	
	public static String getMd5Instance(String str){
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.reset();
			md.update(str.getBytes());
			return new BigInteger(1, md.digest()).toString(16);
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
		return null;
	}
}

其中這裡的reset方法是為了重用MessageDigest物件。呼叫MessageDigest.reset()方法會對state進行重置,以免這次計算資料會對下一次的計算造成影響,從而導致計算結果錯誤。