Skip to content

Commit 2537226

Browse files
committed
[docs feat]常见加密算法总结添加到网站�javaguide.cn
1 parent eb4a618 commit 2537226

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
308308
- [JWT 优缺点分析以及常见问题解决方案](./docs/system-design/security/advantages-and-disadvantages-of-jwt.md)
309309
- [SSO 单点登录详解](./docs/system-design/security/sso-intro.md)
310310
- [权限系统设计详解](./docs/system-design/security/design-of-authority-system.md)
311+
- [常见加密算法总结](./docs/system-design/security/encryption-algorithms.md)
311312

312313
#### 数据脱敏
313314

docs/.vuepress/sidebar/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,7 @@ export default sidebar({
433433
"advantages-and-disadvantages-of-jwt",
434434
"sso-intro",
435435
"design-of-authority-system",
436+
"encryption-algorithms",
436437
"sentive-words-filter",
437438
"data-desensitization",
438439
],

docs/home.md

+1
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
302302
- [JWT 优缺点分析以及常见问题解决方案](./system-design/security/advantages-and-disadvantages-of-jwt.md)
303303
- [SSO 单点登录详解](./system-design/security/sso-intro.md)
304304
- [权限系统设计详解](./system-design/security/design-of-authority-system.md)
305+
- [常见加密算法总结](./system-design/security/encryption-algorithms.md)
305306

306307
#### 数据脱敏
307308

docs/system-design/security/encryption-algorithms.md

+15-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
加密算法是一种用数学方法对数据进行变换的技术,目的是保护数据的安全性和完整性,防止被未经授权的人读取或修改。加密算法可以分为三大类:对称加密算法、非对称加密算法和哈希算法(也叫摘要算法)。
1+
---
2+
title: 常见加密算法总结
3+
category: 系统设计
4+
tag:
5+
- 安全
6+
---
7+
8+
加密算法是一种用数学方法对数据进行变换的技术,目的是保护数据的安全,防止被未经授权的人读取或修改。加密算法可以分为三大类:对称加密算法、非对称加密算法和哈希算法(也叫摘要算法)。
29

310
日常开发中常见的需要用到的加密算法的场景:
411

@@ -165,7 +172,7 @@ AES(Advanced Encryption Standard)算法是一种更先进的对称密钥加
165172

166173
AES 也是一种分组(或者叫块)密码,分组长度只能是 128 位,也就是说,每个分组为 16 个字节。AES 加密算法有多种工作模式(mode of operation),如:ECB、CBC、OFB、CFB、CTR、XTS、OCB、GCM(目前使用最广泛的模式)。不同的模式参数和加密流程不同,但是核心仍然是 AES 算法。
167174

168-
和 DES 类似,对于不是 128 位倍数的明文需要进行填充,常用的填充模式有 PKCS5Padding, PKCS7Padding, NOPADDING。不过,AES-GCM 是流加密算法,所以对应的填充模式为 NoPadding,即无需填充。
175+
和 DES 类似,对于不是 128 位倍数的明文需要进行填充,常用的填充模式有 PKCS5Padding, PKCS7Padding, NOPADDING。不过,AES-GCM 是流加密算法,可以对任意长度的明文进行加密,所以对应的填充模式为 NoPadding,即无需填充。
169176

170177
AES 的速度比 3DES 快,而且更安全。
171178

@@ -338,9 +345,14 @@ DSA 算法签名过程:
338345

339346
## 总结
340347

341-
这篇文章介绍了三种加密算法:哈希算法、对称加密算法和非对称加密算法。哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术,可以用来验证数据的完整性和一致性,常见的哈希算法有 MD、SHA、MAC 等。对称加密算法是一种加密和解密使用同一个密钥的算法,可以用来保护数据的安全性和保密性,常见的对称加密算法有 DES、3DES、AES 等。非对称加密算法是一种加密和解密使用不同的密钥的算法,可以用来实现数据的安全传输和身份认证,常见的非对称加密算法有 RSA、DSA、ECC 等。
348+
这篇文章介绍了三种加密算法:哈希算法、对称加密算法和非对称加密算法。
349+
350+
- 哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术,可以用来验证数据的完整性和一致性,常见的哈希算法有 MD、SHA、MAC 等。
351+
- 对称加密算法是一种加密和解密使用同一个密钥的算法,可以用来保护数据的安全性和保密性,常见的对称加密算法有 DES、3DES、AES 等。
352+
- 非对称加密算法是一种加密和解密使用不同的密钥的算法,可以用来实现数据的安全传输和身份认证,常见的非对称加密算法有 RSA、DSA、ECC 等。
342353

343354
## 参考
344355

345356
- 奇妙的安全旅行之 DSA 算法:<https://zhuanlan.zhihu.com/p/347025157>
346357
- 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/>

0 commit comments

Comments
 (0)