缘起
AES_DECRYPTCBCECB
关于密码学
AESRSAMD5SHA1HMAC
AES
AES:高级加密标准(Advanced Encryption Standard),又称Rijndael加密法,这个标准用来替代原先的DES。AES加密数据块分组长度必须为128bit(byte[16]),密钥长度可以是128bit(byte[16])、192bit(byte[24])、256bit(byte[32])中的任意一个。
块:对明文进行加密的时候,先要将明文按照128bit进行划分。
填充方式:因为明文的长度不一定总是128的整数倍,所以要进行补位,我们这里采用的是PKCS7填充方式
AESECBCBCCFBOFB
1.电码本模式(Electronic Codebook Book (ECB))
将明文分组加密之后的结果直接称为密文分组。
2.密码分组链接模式(Cipher Block Chaining (CBC))
将明文分组与前一个密文分组进行XOR运算,然后再进行加密。每个分组的加解密都依赖于前一个分组。而第一个分组没有前一个分组,因此需要一个初始化向量
3.计算器模式(Counter (CTR))
4.密码反馈模式(Cipher FeedBack (CFB))
前一个密文分组会被送回到密码算法的输入端。
在CBC和EBC模式中,明文分组都是通过密码算法进行加密的。而在CFB模式中,明文分组并没有通过加密算法直接进行加密,明文分组和密文分组之间只有一个XOR。
5.输出反馈模式(Output FeedBack (OFB))
加密模式 | 对应加解密方法 |
---|---|
CBC | NewCBCDecrypter, NewCBCEncrypter |
CTR | NewCTR |
CFB | NewCFBDecrypter, NewCFBEncrypter |
OFB | NewOFB |
CBC
ECBAES_DECRYPT
CFB
RSA
openssl
散列算法