• 技术文章 >后端开发 >PHP7

    DES、ECB和CBC三种加密方式的区别是啥

    醉折花枝作酒筹醉折花枝作酒筹2021-07-12 11:56:50转载131
    在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中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:DES加密 ECB CBC
    上一篇:linux环境下php7.0怎么安装 下一篇:如何配置nginx和php-fpm
    VIP会员

    相关文章推荐

    • 一分钟了解PHP7性能的蜕变(性能提升4倍)• centos7.2系统中如何安装php7自带的扩展intl• php7如何使用PDO连接数据库• PHP7真的有那么厉害吗?• linux环境下php7.0怎么安装

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网