原因 && Java示例
AES是什么
AES是啥:
- AES是一种对称加密,密文被切割成相同大小的数据块,块级串行运算,最后出结果-密文。(小白理解)
- 高级加密标准(Advanced Encryption Standard)
在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
Wiki1:高级加密标准
吐槽:国内的IP被wiki禁了。可能之前发生了很坏的事情。
AES算法组成
算法组成:算法(CBC),密钥(key),初始向量(IV)。
1 Initialization vector (IV)
初始化向量(IV,Initialization Vector)是许多任务作模式中用于将加密随机化的一个位块,由此即使同样的明文被多次加密也会产生不同的密文,避免了较慢的重新产生密钥的过程。
2 Cipher Block Chaining (CBC)
密码块链接(CBC)原理图如下:
解密
Wiki:分组密码工作模式
在线AES加解密
写的乱了点,有点像男生寝室。不过自己能找的到就很好了。
网友评论