Skip to content

Commit dba1847

Browse files
committed
updates
1 parent 15b5f00 commit dba1847

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

第9章 安全加密/对称加密.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -350,21 +350,21 @@ byte[] bytes = data.getBytes();//内容为:49 50 51 52 97 98 99 100
350350

351351
### **对称加密应用场景**
352352

353-
- 本地数据加密(例如加密android 里SharedPreferences 里面的某些敏感数据)
353+
- 本地数据加密(例如加密Android 里SharedPreferences 里面的某些敏感数据)
354354
- 网络传输:登录接口post 请求参数加密{username=lisi,pwd=oJYa4i9VASRoxVLh75wPCg==}
355-
- 加密用户登录结果信息并序列化到本地磁盘(将user 对象序列化到本地磁盘,下次登录时反序列化到内存里)
355+
- 加密用户登录结果信息并序列化到本地磁盘(将User 对象序列化到本地磁盘,下次登录时反序列化到内存里)
356356
- 网页交互数据加密(即后面学到的Https)
357357

358358
### **DES算法代码实现**
359359

360360
```java
361-
//1,得到cipher 对象(可翻译为密码器或密码系统)
361+
//1. 得到cipher 对象(可翻译为密码器或密码系统)
362362
Cipher cipher = Cipher.getInstance("DES");
363-
//2创建秘钥
363+
//2. 创建秘钥
364364
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
365-
//3设置操作模式(加密/解密)
365+
//3. 设置操作模式(加密/解密)
366366
cipher.init(Cipher.ENCRYPT_MODE, key);
367-
//4执行操作
367+
//4. 执行操作
368368
byte[] result = cipher.doFinal("黑马".getBytes());
369369
```
370370
###**AES 算法代码实现**
@@ -434,7 +434,7 @@ cipher.init(Cipher.DECRYPT_MODE, secretKey);
434434
```
435435
### **注意事项**
436436

437-
把秘钥写在代码里有一定风险,当别人反编译代码的时候,可能会看到秘钥,android 开发里建议用JNI 把秘钥值写到C 代码里,甚至拆分成几份,最后再组合成真正的秘钥
437+
把秘钥写在代码里有一定风险,当别人反编译代码的时候,可能会看到秘钥,Android 开发里建议用JNI 把秘钥值写到C 代码里,甚至拆分成几份,最后再组合成真正的秘钥
438438

439439
### **算法/工作模式/填充模式**
440440

@@ -493,8 +493,8 @@ cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
493493

494494
## 3. 总结
495495

496-
DES 安全度在现代已经不够高,后来又出现的3DES 算法强度提高了很多,但是其执行效率低下,AES算法加密强度大,执行效率高,使用简单,实际开发中建议选择AES 算法。实际android 开发中可以用对称加密(例如选择AES 算法)来解决很多问题,例如:
496+
DES 安全度在现代已经不够高,后来又出现的3DES 算法强度提高了很多,但是其执行效率低下,AES算法加密强度大,执行效率高,使用简单,实际开发中建议选择AES 算法。实际Android 开发中可以用对称加密(例如选择AES 算法)来解决很多问题,例如:
497497

498-
- 做一个管理密码的app,我们在不同的网站里使用不同账号密码,很难记住,想做个app 统一管理,但是账号密码保存在手机里,一旦丢失了容易造成安全隐患,所以需要一种加密算法,将账号密码信息加密起来保管,这时候如果使用对称加密算法,将数据进行加密,秘钥我们自己记在心里,只需要记住一个密码。需要的时候可以还原信息。
499-
- android 里需要把一些敏感数据保存到SharedPrefrence 里的时候,也可以使用对称加密,这样可以在需要的时候还原。
498+
- 做一个管理密码的App,我们在不同的网站里使用不同账号密码,很难记住,想做个app 统一管理,但是账号密码保存在手机里,一旦丢失了容易造成安全隐患,所以需要一种加密算法,将账号密码信息加密起来保管,这时候如果使用对称加密算法,将数据进行加密,秘钥我们自己记在心里,只需要记住一个密码。需要的时候可以还原信息。
499+
- Android 里需要把一些敏感数据保存到SharedPrefrence 里的时候,也可以使用对称加密,这样可以在需要的时候还原。
500500
- 请求网络接口的时候,我们需要上传一些敏感数据,同样也可以使用对称加密,服务端使用同样的算法就可以解密。或者服务端需要给客户端传递数据,同样也可以先加密,然后客户端使用同样算法解密。

0 commit comments

Comments
 (0)