![222dbc626b1f94848f9b0de389e69567.png](https://img-blog.csdnimg.cn/img_convert/222dbc626b1f94848f9b0de389e69567.png)
目录,本文主要分为两部分:
1.使用AES算法进行加密
2.使用RSA算法进行加密
在使用Encryption之前最好学习一些东西:
- 算法类型(非对称和对称)
- 模式和填充
- 按键类型
- Java密码体系结构
- Android Key Store
1、安卓中的AES加密
AES是一种众所周知且最推荐的标准加密算法,该算法使用替换置换网络通过对称密钥对纯数据进行加密。
对称密钥是由基于密码的密钥派生功能(PBKDF2)生成的是获取密码并用salt对其进行哈希处理多次,以确保生成唯一的密钥,即使不同的用户使用相同的密码也是如此。该密钥还可以使用Android Keystore和Galois / Counter Mode(GCM)用作阻止模式来生成。AES支持128、192和256位的密钥长度。
AES仅将128位数据作为一个块进行加密,要对整个消息进行加密,我们必须选择一种块模式,例如电子密码簿(ECB)或密码块链接(CBC),计数器模式(CTR),其中可以对多个块进行加密到单个密文。
![f4b17aa5b127b5b896dbe6d1459e1296.png](https://img-blog.csdnimg.cn/img_convert/f4b17aa5b127b5b896dbe6d1459e1296.png)