IT|資訊安全|Java 中常用的加密方法

SHA    21 November 2016 

是一種數據加密演算法,該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的散列演算法之一,並被廣泛使用。

該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。
散列函數值可以說時對明文的一種"指紋"或是"摘要"所以對散列值的數字簽名就可以視為對此明文的數字簽名。

SHA 與 MD5 比較    21 November 2016 

因為二者均由 MD4 導出,SHA-1 和 MD5 彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:

對強行攻擊的安全性:最顯著和最重要的區別是 SHA-1 摘要比MD5摘要長32 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對 MD5 2^128數量級的操作,而對 SHA-1 則是2^160數量級的操作。這樣,SHA-1 對強行攻擊有更大的強度。

對密碼分析的安全性:由於 MD5 的設計,易受密碼分析的攻擊,SHA-1 顯得不易受這樣的攻擊。

速度:在相同的硬件上,SHA-1 的運行速度比 MD5 慢。


BASE64    21 November 2016 

按照 RFC2045 的定義,Base64 被定義為:Base64 內容傳送編碼被設計用來把任意序列的8位字節描述為一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)

常見於郵件、http 加密,截取 http信息,你就會發現登錄操作的用戶名、密碼欄位通過 BASE64 加密的。

資源    21 November 2016

內有完整 Sample Code

Java如何進行Base64的編碼(Encode)與解碼(Decode)1

留言

這個網誌中的熱門文章

IoT|硬體|樹莓派|外接麥克風及喇叭設置

成長|語文|學習-英文 持續更新!

IoT|硬體|通訊|Arduino 使用 SoftwareSerial Library 與電腦通訊