MessageDigest的功能及用法

文章鏈接爲: http://blog.csdn.net/ma1kong/article/details/2662997 

MessageDigest 類爲應用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的單向哈希函數,它接收任意大小的數據,並輸出固定長度的哈希值。

MessageDigest 對象開始被初始化。該對象通過使用 update()方法處理數據。任何時候都可以調用 reset()方法重置摘要。一旦所有需要更新的數據都已經被更新了,應該調用digest() 方法之一完成哈希計算。

對於給定數量的更新數據,digest 方法只能被調用一次。在調用 digest 之後,MessageDigest 對象被重新設置成其初始狀態。

1、public static MessageDigest getInstance(String algorithm)
                                 throws NoSuchAlgorithmException
   返回實現指定摘要算法的 MessageDigest 對象。
   algorithm - 所請求算法的名稱
2、public static MessageDigest getInstance(String algorithm,                                        String provider)
                                 throws NoSuchAlgorithmException,                                        NoSuchProviderException
  返回實現指定摘要算法的 MessageDigest 對象。
  algorithm - 所請求算法的名稱
  provider - 提供者的名稱。
3、public void update(byte[] input)
  使用指定的 byte 數組更新摘要。
4、public byte[] digest()
  通過執行諸如填充之類的最終操作完成哈希計算。在調用此方法之後,摘要被重置。
5、public static boolean (byte[] digesta,
                              byte[] digestb)

另外一篇文章另有可讀性,

參考於: http://blog.csdn.net/hudashi/article/details/8394158 


參考文章:http://blog.sina.com.cn/s/blog_4f36423201000c1e.html

一、概述

java.security.MessageDigest類用於爲應用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。簡單點說就是用於生成散列碼信息摘要是安全的單向哈希函數,它接收任意大小的數據,輸出固定長度的哈希值。關於信息摘要散列碼請參照《數字證書簡介

MessageDigest 通過其getInstance系列靜態函數來進行實例化和初始化。MessageDigest 對象通過使用 update 方法處理數據。任何時候都可以調用 reset 方法重置摘要。一旦所有需要更新的數據都已經被更新了,應該調用 digest 方法之一完成哈希計算並返回結果。

對於給定數量的更新數據,digest 方法只能被調用一次。digest 方法被調用後,MessageDigest  對象被重新設置成其初始狀態。

MessageDigest 的實現可隨意選擇是否實現 Cloneable 接口。客戶端應用程可以通過嘗試複製和捕獲 CloneNotSupportedException 測試可複製性:

原文內容太多.不全列出了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章