几种常用加密算法的比较

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

links

social