【Java-frag-Extra】常用加密算法(MD5, SHA1, HMAC)

消息摘要算法 (Message-Digest Algorithm)

消息摘要算法的主要特徵是加密過程不需要密鑰, 並且,經過加密的數據無法被解密(除CRC32算法)。只有輸入相同的明文數據經過相同的消息摘要算法才能得到相同的密文。

  1. 不存在密鑰的管理和分發的問題,適合與分佈式網絡上使用。
  2. 加密計算的工作量相當大,通常只用於數據量有限的情況加進行加密。

MD5算法(Message-Digest Algorithm)

消息摘要算法的一種。
無論多長的數據, MD5都會輸出長度爲128 bits散列值,通常顯示爲32個16進制數
相同的值能加密(MD5)出相同的值, 但不同的值也有可能加密(MD5)出相同的值
MD5常用於: 密碼管理, 電子簽名, 垃圾郵件篩選

SHA1算法(Secure Hash Algorithm 1)

消息摘要算法的一種
SHA1可以生成一個160位(20字節)散列值, 通常顯示爲40個16進制數

HMAC算法(Hash-based Message Authentication Code)

HMAC 哈希運算消息認證碼
是基於Hash函數和密鑰進行消息認證的方法
可以與任何迭代散列函數捆綁使用

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