【转】七种加密算法 https://blog.csdn.net/baidu_22254181/article/details/82594072
1.MD5 。哈希函数实现,用于对一段信息产生信息摘要。输出长度为128bits,一般用16进制表示为32个字符。
2.SHA1算法 。用于信息摘要,但是比MD5安全。对于2-64位的消息,会产生一个160
位的信息摘要。与MD5一样,不可逆。可以用于检查文件的完整性,以及数字签名。
3.HMAC算法。
密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法(MD5,SHA1等),以一个密钥和一个消息为输出输入,
生成一个消息摘要作为输出。
HMAC发送方和接收方都有key进行运算,密钥key的第三方无法算出散列值,防止数据被篡改。
4. DES/3DES/AES
AES,DES,3DES都是对称的块加密算法,加解密都是可逆的,常用的有AES128,AES192,AES256,
4.1 DES算法
DES,分组加密算法,以64位为分组对数据进行加密。密钥长度为56位,加密解密都是同一算法。
DES对密钥进行保密,但是公开算法。破译DES就是搜索密钥的编码,对于56位长度的密钥,穷举法需要2^56次运算。
4.2 3DES算法
3DES是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高。
4.3 AES 算法
AES加密算法是密码学中的高级加密标准,,对称分组密码*,密钥长度的最少支持为128位,192wei,
256位,分组长度为128位,算法应用于各种硬件和软件实现。
ASE取代了DES,AES具有更好的安全性,效率和灵活性。
5.RSA算法
RSA是目前最有影响力的公钥加密算法,目前最优秀的公钥加密方案之一。RSA是第一个能同时用于加密和数字签名的算法
它能够抵抗目前已知的所有密码攻击。
6.ECC算法
ECC,非对称加密算法,优势是在某些情况下,比其他方法使用更小的密钥,提供相当的或者更高的安全级别,
缺点是加密和解密操作比其他算法长,和RSA相比,ECC对CPU消耗严重。