對稱加密演算法——DES,AES

對稱加密演算法

特點:

  • 加密與解密使用同一個密鑰

常見對稱加密演算法:

  • DES data encryption standard 數據加密標準(已被破解,但是是其他對稱演算法的基石)

  • DESede 由DES對稱加密演算法改進后的一種對稱加密演算法,3重(處理速度慢、加密耗時,也不常用)

  • AES Advanced Encryption Standard 高級加密標準(DES的替代者,最常用)

  • PBE password Based Encryption 基於口令加密(對已知對稱加密進行包裝)

    一、DES:

產生密鑰

這裡需要強調的是new SecureRandom(),是默認長度,init()方法中也可以直接放置數字如此處為56

Advertisements

還原密鑰(得到密鑰類Key)

通過密鑰加密

這裡需要說明一下的是,一般來說加密后的字元串使用Base64進行編碼便於存儲,或者使用URLBase64進行編碼便於傳輸

解密

測試

這裡說明一下就是,密鑰可以使用給定的方法getKey()進行生成,也可以自己手動定義一串字元串如1234567890

測試結果

二、AES

特點:

  • 密鑰建立時間短、靈敏性好、內存需求低

  • 最常用的對稱加密演算法

實現方式

  • JDK(密鑰長度有128,192,256三種選法,提供PKCS5Padding的填充模式)

  • Bouncy Castle(密鑰長度有128,192,256三種選法,提供PKCS7Padding的填充模式)

對於AES的實現

就是把產生密鑰的演算法由DES更換為AES,加密的演算法由DES/ECB/PKCS5Padding改為AES/ECB/PKCS5Padding就可以實現了,這裡就不再進行累述,現在最常用的就是AES了,好了,到這裡就結束了,希望對大家有所幫助。

Advertisements

Advertisements

你可能會喜歡