在php中,有好幾種加密方式,其中有DES、ECB和CBC這三種加密,今天小編就帶大家了解一下這三種加密方式的差別,有需要的可以參考一下。
ECB模式:
# 優點:
1.簡單;
2.有利於並行計算;
3. 誤差不會被傳遞;
缺點:
1. 不能隱藏明文的模式;
2. 可能對明文進行主動攻擊;
DES ECB(電子密本方式)其實非常簡單,就是將資料依照8個位元組一段進行DES加密或解密得到一段段的8個位元組的密文或者明文,最後一段不足8個位元組(一般補0或F),依照需求補足8個位元組進行計算(並行計算),之後依照順序將計算所得的資料連在一起即可,各段資料之間互不影響。
CBC模式:
優點:
1. 不容易主動攻擊,安全性優於ECB,是SSL、IPSec的標準;
缺點:
1. 不利於平行計算;
2.誤差傳遞;
3. 需要初始化向量IV;
DES CBC模式
(密文分組連結方式)有點麻煩,它的實作機制使加密的各段資料之間有了關聯。其實現的機理如下:
加密步驟如下:
1. 先將資料依照8個位元組一組進行分組得到D1D2......Dn(若資料不是8的整數倍,以指定的PADDING資料補位)
2. 第一組資料D1與初始化向量I異或後的結果進行DES加密得到第一組密文C1(初始化向量I為全零)
3. 第二組數據D2與第一組的加密結果C1異或以後的結果進行DES加密,得到第二組密文C2
4. 之後的數據以此類推,得到Cn
5. 依序連為C1C2C3......Cn即為加密結果。
這是分組密碼的工作模式 CBC是密碼分組連結模式ECB是電碼本模式
推薦學習:php影片教學
#以上是DES、ECB和CBC三種加密方式的差異在於啥的詳細內容。更多資訊請關注PHP中文網其他相關文章!