- 采用的机器
 - 型号名称: 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。