對稱加密演算法——DES,AES
對稱加密演算法
特點:
加密與解密使用同一個密鑰
常見對稱加密演算法:
DES data encryption standard 數據加密標準(已被破解,但是是其他對稱演算法的基石)
DESede 由DES對稱加密演算法改進后的一種對稱加密演算法,3重(處理速度慢、加密耗時,也不常用)
AES Advanced Encryption Standard 高級加密標準(DES的替代者,最常用)
PBE password Based Encryption 基於口令加密(對已知對稱加密進行包裝)
一、DES:
這裡需要強調的是new SecureRandom(),是默認長度,init()方法中也可以直接放置數字如此處為56
Advertisements
這裡需要說明一下的是,一般來說加密后的字元串使用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了,好了,到這裡就結束了,希望對大家有所幫助。