- 采用的机器
- 型号名称: MacBook Pro
- 处理器名称: Intel Core i5
- 处理器速度: 3.1 GHz
- 处理器数目: 1
- 核总数: 2
-
内存: 8 GB
-
采用的Java版本:
- Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
处理5000次相同数据消耗的毫秒数
名称 | 加密 | 解密 | 可逆 | 对称密钥 |
---|---|---|---|---|
MD5 | 151 | / | 否 | / |
SHA-1 | 48 | / | 否 | / |
SHA-256 | 84 | / | 是 | / |
AES | 20 | 41 | 是 | 是 |
DES | 77 | 122 | 是 | 是 |
RSA | 1265 | 25120 | 是 | 否 |
可以看到可逆的算法比不可逆的执行效率低,非对称比对称的执行效率低。不可逆算法适合来对数据进行签名,可以实现防篡改功能。可逆算法适合加密传输,可以用对称和非对称结合实现最好的效果。著名的HTTPS协议就采用非对称加密对传输密钥进行加密,而采用对称算法进行数据加密,这样效率较低的非对称算法只在握手的时候执行一次,即不会对后面的数据传输产生影响,又保证了极好的安全性。
在算法选择上,MD5已经过时了,可以采用性能和安全性都更好的SHA-256。对称加密采用AES。