File tree 4 files changed +18
-3
lines changed
4 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -308,6 +308,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
308
308
- [ JWT 优缺点分析以及常见问题解决方案] ( ./docs/system-design/security/advantages-and-disadvantages-of-jwt.md )
309
309
- [ SSO 单点登录详解] ( ./docs/system-design/security/sso-intro.md )
310
310
- [ 权限系统设计详解] ( ./docs/system-design/security/design-of-authority-system.md )
311
+ - [ 常见加密算法总结] ( ./docs/system-design/security/encryption-algorithms.md )
311
312
312
313
#### 数据脱敏
313
314
Original file line number Diff line number Diff line change @@ -433,6 +433,7 @@ export default sidebar({
433
433
"advantages-and-disadvantages-of-jwt" ,
434
434
"sso-intro" ,
435
435
"design-of-authority-system" ,
436
+ "encryption-algorithms" ,
436
437
"sentive-words-filter" ,
437
438
"data-desensitization" ,
438
439
] ,
Original file line number Diff line number Diff line change @@ -302,6 +302,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
302
302
- [ JWT 优缺点分析以及常见问题解决方案] ( ./system-design/security/advantages-and-disadvantages-of-jwt.md )
303
303
- [ SSO 单点登录详解] ( ./system-design/security/sso-intro.md )
304
304
- [ 权限系统设计详解] ( ./system-design/security/design-of-authority-system.md )
305
+ - [ 常见加密算法总结] ( ./system-design/security/encryption-algorithms.md )
305
306
306
307
#### 数据脱敏
307
308
Original file line number Diff line number Diff line change 1
- 加密算法是一种用数学方法对数据进行变换的技术,目的是保护数据的安全性和完整性,防止被未经授权的人读取或修改。加密算法可以分为三大类:对称加密算法、非对称加密算法和哈希算法(也叫摘要算法)。
1
+ ---
2
+ title : 常见加密算法总结
3
+ category : 系统设计
4
+ tag :
5
+ - 安全
6
+ ---
7
+
8
+ 加密算法是一种用数学方法对数据进行变换的技术,目的是保护数据的安全,防止被未经授权的人读取或修改。加密算法可以分为三大类:对称加密算法、非对称加密算法和哈希算法(也叫摘要算法)。
2
9
3
10
日常开发中常见的需要用到的加密算法的场景:
4
11
@@ -165,7 +172,7 @@ AES(Advanced Encryption Standard)算法是一种更先进的对称密钥加
165
172
166
173
AES 也是一种分组(或者叫块)密码,分组长度只能是 128 位,也就是说,每个分组为 16 个字节。AES 加密算法有多种工作模式(mode of operation),如:ECB、CBC、OFB、CFB、CTR、XTS、OCB、GCM(目前使用最广泛的模式)。不同的模式参数和加密流程不同,但是核心仍然是 AES 算法。
167
174
168
- 和 DES 类似,对于不是 128 位倍数的明文需要进行填充,常用的填充模式有 PKCS5Padding, PKCS7Padding, NOPADDING。不过,AES-GCM 是流加密算法,所以对应的填充模式为 NoPadding,即无需填充。
175
+ 和 DES 类似,对于不是 128 位倍数的明文需要进行填充,常用的填充模式有 PKCS5Padding, PKCS7Padding, NOPADDING。不过,AES-GCM 是流加密算法,可以对任意长度的明文进行加密, 所以对应的填充模式为 NoPadding,即无需填充。
169
176
170
177
AES 的速度比 3DES 快,而且更安全。
171
178
@@ -338,9 +345,14 @@ DSA 算法签名过程:
338
345
339
346
## 总结
340
347
341
- 这篇文章介绍了三种加密算法:哈希算法、对称加密算法和非对称加密算法。哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术,可以用来验证数据的完整性和一致性,常见的哈希算法有 MD、SHA、MAC 等。对称加密算法是一种加密和解密使用同一个密钥的算法,可以用来保护数据的安全性和保密性,常见的对称加密算法有 DES、3DES、AES 等。非对称加密算法是一种加密和解密使用不同的密钥的算法,可以用来实现数据的安全传输和身份认证,常见的非对称加密算法有 RSA、DSA、ECC 等。
348
+ 这篇文章介绍了三种加密算法:哈希算法、对称加密算法和非对称加密算法。
349
+
350
+ - 哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术,可以用来验证数据的完整性和一致性,常见的哈希算法有 MD、SHA、MAC 等。
351
+ - 对称加密算法是一种加密和解密使用同一个密钥的算法,可以用来保护数据的安全性和保密性,常见的对称加密算法有 DES、3DES、AES 等。
352
+ - 非对称加密算法是一种加密和解密使用不同的密钥的算法,可以用来实现数据的安全传输和身份认证,常见的非对称加密算法有 RSA、DSA、ECC 等。
342
353
343
354
## 参考
344
355
345
356
- 奇妙的安全旅行之 DSA 算法:< https://zhuanlan.zhihu.com/p/347025157 >
346
357
- AES-GCM 加密简介:< https://juejin.cn/post/6844904122676690951 >
358
+ - Java AES 256 GCM Encryption and Decryption Example | JCE Unlimited Strength:< https://www.javainterviewpoint.com/java-aes-256-gcm-encryption-and-decryption/ >
You can’t perform that action at this time.
0 commit comments