常见的加密算法分为对称加密、非对称加密和摘要算法。

对称加密算法

加密和解密使用同一套密钥。优点是加密、解密速度快,适合对大数据量进行加密;缺陷是需要在网络中分发密钥,增加了密钥窃取的风险。

DES

3DES

Blowfish

RC5

IDEA

非对称加密算法

加密使用公钥加密,解密使用私钥解密。一般是服务器将公钥发给客户端加密信息,服务器接收密文后使用私钥解密。优点是相比对称加密,更加安全;缺点是只有服务端可以解密。

RSA

Rabin

DSA

ElGamal

D_H

摘要算法

没有密钥只通过加密算法将明文加密。优点是密文占用空间小,不管明文有多大密文都是固定大小。缺点是难以解密,只能通过相同的算法将相同的明文加密之后进行比较。
常用于用户密码存储,文件指纹对比等。

MD4

MD5

SHA1