您好,登錄后才能下訂單哦!
本篇內容主要講解“PHP中DES、ECB和CBC三種加密方式有什么區別”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP中DES、ECB和CBC三種加密方式有什么區別”吧!
在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三種加密方式有什么區別”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。