加密模式||填充模式
生活随笔
收集整理的這篇文章主要介紹了
加密模式||填充模式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html
ECB
ECB : Electronic codebook, 電子密碼本. 需要加密的消息按照塊密碼的塊大小被分為數(shù)個塊,并對每個塊進行獨立加密
- 優(yōu)點 : 可以并行處理數(shù)據(jù)
- 缺點 : 同樣的原文生成同樣的密文, 不能很好的保護數(shù)據(jù)
- 同時加密,原文是一樣的,加密出來的密文也是一樣的
CBC
CBC : Cipher-block chaining, 密碼塊鏈接. 每個明文塊先與前一個密文塊進行異或后,再進行加密。在這種方法中,每個密文塊都依賴于它前面的所有明文塊
- 優(yōu)點 : 同樣的原文生成的密文不一樣
- 缺點 : 串行處理數(shù)據(jù).
填充模式?
- 當需要按塊處理的數(shù)據(jù), 數(shù)據(jù)長度不符合塊處理需求時, 按照一定的方法填充滿塊長的規(guī)則
NoPadding
-
不填充.
-
在DES加密算法下, 要求原文長度必須是8byte的整數(shù)倍
-
在AES加密算法下, 要求原文長度必須是16byte的整數(shù)倍
PKCS5Padding
-
數(shù)據(jù)塊的大小為8位, 不夠就補足
Tips
- 默認情況下, 加密模式和填充模式為 : ECB/PKCS5Padding
- 如果使用CBC模式, 在初始化Cipher對象時, 需要增加參數(shù), 初始化向量IV : IvParameterSpec iv = new IvParameterSpec(key.getBytes());
加密模式和填充模式
總結(jié)
以上是生活随笔為你收集整理的加密模式||填充模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AES加密解密
- 下一篇: explain 之key || expl