為了保證檔案或值的安全性,因為使用訊息摘要生成的值是不可篡改的;
特點:
準備工作
string input = 「訊息摘要」;
string algorithm = 「md5」;
public
static
void
main
(string[
] args)
throws exception
建立乙個訊息摘要物件messagedigest 通過getinstance來進行例項化和初始化,其引數為演算法變數algorithm
messagedigest messagedigest = messagedigest.getinstance(algorithm);
接著用通過呼叫messagedigest 例項物件messagedigest的方法 digest() 計算出雜湊計算並返回結果,傳入的引數是原文的位元組陣列input.getbytes();
byte bytes = messagedigest.digest(input.getbytes());
private
static string getdigest
(string input, string algorithm)
throws exception
最後可以使用base64.encode()去轉碼或者使用16進製制去轉碼
//使用base64進行轉碼
//獲取原文雜湊值
private
static string tohex
(byte
bytes)
sb.(s);
}//列印物件 tostring
return sb.
tostring()
;}
show
其他數字摘要演算法與md5一致,只需要把演算法變數對應改一下就好了!
訊息摘要演算法簡介
訊息摘要演算法簡介 一 什麼是訊息摘要演算法 訊息摘要演算法的主要特徵是加密過程不需要金鑰,並且經過加密的資料無法被解密,只有輸入相同的明文資料經過相同的訊息摘要演算法才能得到相同的密文。訊息摘要演算法不存在金鑰的管理與分發問題,適合於分布式網路相同上使用。由於其加密計算的工作量相當可觀,所以以前的...
Java 訊息摘要演算法
一 md5 因為在訊息摘要演算法中,md5應該最常用的,所以放在最前面。另外md家族中除了md5外,還有md2和md4,md2和md5在jdk中已經有實現,md4則是在bouncy castle有實現。public abstract class md5 catch nosuchalgorithmex...
訊息摘要演算法 HMAC演算法
hmac是一種使用單向雜湊函式來構造訊息認證碼的方法,其中hmac中的h就是hash的意思,以乙個金鑰和乙個訊息為輸入,生成乙個訊息摘要作為輸出。或者簡單點說,hmac就是資訊在hash的時候,按照一定規則在資訊裡新增了一些關鍵字,增加了hash破解的難度。hmac中所使用的單向雜湊函式並不僅限於一...