java實現數據加密

使用MessageDigest類爲程序提供信息摘要算法的功能,如MD5和SHA算法,java

信息摘要是安全的單向哈希函數,它接收任意大小的數據,並輸出固定長度的哈希值。算法

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

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

一、public static MessageDigest getInstance(String algorithm)
                                 throws NoSuchAlgorithmException
   返回實現指定摘要算法的 MessageDigest 對象。
   algorithm - 所請求算法的名稱
二、public static MessageDigest getInstance(String algorithm,
                                        String provider)
                                 throws NoSuchAlgorithmException,
                                        NoSuchProviderException
  返回實現指定摘要算法的 MessageDigest 對象。
  algorithm - 所請求算法的名稱
  provider - 提供者的名稱。
三、public void update(byte[] input)
  使用指定的 byte 數組更新摘要。 
四、public byte[] digest()
  經過執行諸如填充之類的最終操做完成哈希計算。在調用此方法以後,摘要被重置。
五、public static boolean isEqual(byte[] digesta,
                              byte[] digestb)
比較兩個摘要的相等性。作簡單的字節比較。

 

 

注意:Provider能夠經過 Java.security.Security.getProviders() 方法獲取已註冊提供者列表。比較經常使用的有「SUN」數據結構

SUN提供的經常使用的算法名稱有:MD2 
MD5 
                        SHA-1 
                        SHA-256 
                        SHA-384 
                        SHA-512ide

相關文章
相關標籤/搜索