多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
AES也就是高级加密标准(Advanced Encryption Standard,AES),是一种对称加解密的算法,所谓对称加解密,简单可以理解为,加密方和解密方的密钥是一样的才行,然后约定加解密的策略,就能完成网络安全通信了。密钥是AES算法实现加密和解密的根本,对称加密算法之所以对称,是因为这类算法对明文的加密和解密需要使用同一个密钥。目前AES主要有三种:AES128,AES192,AES256,数字表示的意思是密钥的位数,位数越大运算越复杂同时也越安全。 ### AES加密模式有5种: ECB, CBC, CTR, CFB, OFB,比较重要的是CBC模式,这5种模式的特点如下: ### ### **1.电码本模式(Electronic Codebook Book (ECB)** 这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。 ### **2.密码分组链接模式(Cipher Block Chaining (CBC))** 这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。 ![](https://img.kancloud.cn/27/5c/275c11a4393512b4b3dd54c5f883e7ff_498x354.png =400x) ### CBC模式(Cipher Block Chaining)引入了一个新的概念:初始向量IV(Initialization Vector),IV是做什么用的呢?它的作用和MD5的“加盐”有些类似,目的是防止同样的明文块始终加密成同样的密文块;从图中可以看出,CBC模式在每一个明文块加密前会让明文块和一个值先做异或操作。IV作为初始化变量,参与第一个明文块的异或,后续的每一个明文块和它前一个明文块所加密出的密文块相异或。这样以来,相同的明文块加密出的密文块显然是不一样的。 ### ### **3.计算器模式(Counter (CTR))** 计算器模式不常见,在CTR模式中, 有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密,但是 在计算器不能维持很长的情况下,密钥只能使用一次 。 ### ### **4.密码反馈模式(Cipher FeedBack (CFB)** ### **5.输出反馈模式(Output FeedBack (OFB))**