1、對稱加密:
加密和解密使用同一個密鑰的加密方式
2、對稱加密的優點:
加密計算量小、速度塊,适合對大量資料進行加密的場景
3、AES加密算法
(1)Advanced Encryption Standard,進階加密标準
(2)替代之前的DES加密算法
4、AES采用分組密碼體制
每個分組資料的長度為128位16個位元組
密鑰長度可以是128位16個位元組、192位24位元組 或256位32位元組
通常采用128位16個位元組初始向量IV的CBC模式
五個關鍵詞
1、分組密碼體制
AES加密會首先把明文切成一段一段的,而且每段資料的長度要求必須是128位16個位元組,如果最後一段不夠16個位元組了,就需要用Padding來把這段資料填滿16個位元組,然後分别對每段資料進行加密,最後再把每段加密資料拼起來形成最終的密文。
2、Padding
Padding就是用來把不滿16個位元組的分組資料填滿16個位元組用的
(1)PKCS5
(2)PKCS7
(3)NoPadding
我們開發通常采用PKCS7 Padding模式。
3、密鑰
AES要求密鑰的長度可以是128位16個位元組、192位或者256位
通常采用128位16個位元組的密鑰
4、初始向量IV
定為128位16個位元組,初始向量的來源為随機生成
5、四種加密模式
(1)ECB(電子密碼本模式)
(2)CBC(密碼分組連結模式)需要參數iv
(3)CFB
(4)OFB
我們一般使用的是CBC模式
注意:
服務端和我們用戶端必須使用一樣的:
密鑰、初始向量IV、加密模式、Padding模式參考
第二篇:對稱加密及AES加密算法