File tree 2 files changed +18
-6
lines changed
2 files changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -208,7 +208,7 @@ UDP 继承了 `EventEmitter`, 同样也支持 IPV4和 IPV6协议, 由`type`区
208
208
SO_REUSEADDR允许完全重复的捆绑:当一个IP地址和端口绑定到某个套接口上时,还允许此IP地址和端口捆绑到另一个套接口上。一般来说,这个特性仅在支持多播的系统上才有,而且只对UDP套接口而言(TCP不支持多播)。
209
209
210
210
### 总结
211
-
211
+ 从笔者的经验看,尽量不要尝试去使用 ` UDP ` ,除非你知道丢包了对于应用是没有影响的,否则排查网络丢包会使人崩溃的!
212
212
213
213
214
214
### 参考
Original file line number Diff line number Diff line change @@ -26,18 +26,22 @@ OpenSSL 是在程序上对 SSL 标准的一个实现,提供了:
26
26
Node.js 是完全采用 OpenSSL 进行加密的,其相关的 TLS HTTPS 服务器模块和 Crypto 加密模块都是通过 C++ 在底层调用 OpenSSL 。
27
27
28
28
OpenSSL 实现了对称加密:
29
-
29
+ ``` shell
30
30
AES(128) | DES(64) | Blowfish(64) | CAST(64) | IDEA(64) | RC2(64) | RC5(64)
31
-
31
+ ```
32
32
非对称加密:
33
-
33
+ ``` shell
34
34
DH | RSA | DSA | EC
35
-
35
+ ```
36
36
以及一些信息摘要:
37
+ ``` shell
37
38
MD2 | MD5 | MDC2 | SHA | RIPEMD | DSS
38
-
39
+ ```
39
40
其中信息摘要是一些采用哈希算法的加密方式,也意味着这种加密是单向的,不能反向解密。这种方式的加密大多是用于保护安全口令,比如登录密码。这里面我们最长用的是 MD5 和 SHA (建议采用更稳定的 SHA1, MD5通过查表大法已经不再单向)。
40
41
42
+ 使用非对称加密会损耗性能,对称加密又不能在网络传输,那该怎么办呢?
43
+ 答案是:结合两者一起使用。` ssl/tls ` 实际上也是如此,` tls ` 将两者完美组合使用。
44
+
41
45
42
46
### TLS HTTPS 服务器
43
47
想要建立一个 Node.js TLS 服务器,需要使用 tls 模块:
@@ -60,10 +64,18 @@ MD2 | MD5 | MDC2 | SHA | RIPEMD | DSS
60
64
+ -------------- + 证书是伪造的
61
65
```
62
66
67
+
68
+
63
69
### 总结
70
+ 加密的安全性,主要是以下两种因素共同决定
64
71
72
+ 使用的加密算法
73
+ * 密钥(key)的长度
74
+ * 在相同的算法下,密钥长度增加一位,暴力破解的难度指数级增加。如果使用对称加密,现在AES-256足够安全。
65
75
76
+ 不过据说RSA的1024位密钥已经能被政府用非常昂贵的设备暴力破解,所以在使用RSA算法时,密钥长度要选2048,并没有决对的安全。
66
77
78
+ 加密的性能上,
67
79
68
80
### 参考
69
81
* http://www.jianshu.com/p/a8b87e436ac7
You can’t perform that action at this time.
0 commit comments