PHP中DES、ECB和CBC三种加密方式有什么区别

本篇内容主要讲解“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三种加密方式有什么区别”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站名称:PHP中DES、ECB和CBC三种加密方式有什么区别
新闻来源:http://scyanting.com/article/jppphc.html