Java安全密碼學-(四)加密模式、填充模式

加密模式

ECB

Electronic codebook, 電子密碼本. 需要加密的消息按照塊密碼的塊大小被分爲數個塊,並對每個塊進行獨立加密

優點 : 可以並行處理數據

缺點 : 同樣的原文生成同樣的密文, 不能很好的保護數據

同時加密,原文是一樣的,加密出來的密文也是一樣的

 

CBC

Cipher-block chaining, 密碼塊鏈接. 每個明文塊先與前一個密文塊進行異或後,再進行加密。在這種方法中,每個密文塊都依賴於它前面的所有明文塊

優點 : 同樣的原文生成的密文不一樣

缺點 : 串行處理數據.

 

填充模式

當需要按塊處理的數據, 數據長度不符合塊處理需求時, 按照一定的方法填充滿塊長的規則

NoPadding

不填充.

在DES加密算法下, 要求原文長度必須是8byte的整數倍

在AES加密算法下, 要求原文長度必須是16byte的整數倍

 

PKCS5Padding

數據塊的大小爲8位, 不夠就補足

 

注意

默認情況下, 加密模式和填充模式爲 : ECB/PKCS5Padding

如果使用CBC模式, 在初始化Cipher對象時, 需要增加參數, 初始化向量IV : IvParameterSpec iv = new IvParameterSpec(key.getBytes());

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