★ 程式設計思路:
java.security套件中的MessageDigest類別提供了計算訊息摘要的方法, 首先產生對象,執行其update( )方法可以將原始資料傳遞給該對象,然後執行其digest( )方法即可得到訊息摘要。具體步驟如下:
(1)產生MessageDigest對象
MessageDigest m=MessageDigest.getInstance("MD5");
分析:和2.2.1小節的KeyGenerator類別一樣。 MessageDigest類別也是一個工廠類,其建構器是受保護的,不允許直接使用new MessageDigist( )來建立對象,而必須透過其靜態方法getInstance( )產生MessageDigest物件。
其中傳入的參數指定計算訊息摘要所使用的演算法,常用的有"MD5","SHA"等。若對MD5演算法的細節有興趣可參考
http://www.gztarena.com/rfc1321.txt。
(2)傳入需要計算的字串
m.update(x.getBytes("UTF8" ));
分析:x為需要計算的字串,update傳入的參數是位元組類型或位元組類型數組,對於字串,需要先使用
getBytes( )方法產生字串陣列。
(3)計算訊息摘要
byte s[ ]=m.digest( );
分析:執行MessageDigest物件的digest(廣州達內java)方法完成計算,計算的結果透過位元組類型的陣列傳回。
(4)處理計算結果<BR>必要的話可以使用以下程式碼將計算結果s轉換為字串。