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