三大类加密算法以及应用场景
1.哈希(散列函数)算法
其中的特点:1.算法公开。2.对不同的数据加密的结果都是32位字符。3.是不可逆的
代表的算法:MD5、SHA256/512、HMAC
2.对称加密算法
其中的特点:1.加密后可逆。2.加密和解密都要用同一个秘钥(秘钥的保密工作很重要,秘钥要一定要定期更换,秘钥管理非常麻烦)3.加密的效率高
代表算法:AES("高级"加密方法)、DES(数据加密标准)、3DES
对称加密算法的两种加密方式:1.ECB (电子代码本,也就是说每个数据块都是加密的)。终端命令:$ openssl enc -des-ecb -K 616263 -nosalt -in msg1.txt -out msg1.bin(加密). $ openssl enc -des-ecb -K 616263 -nosalt -in msg1.bin -out msg1.txt -d(解密).$ xxd msg1.bin(查看加密之后的二进制文件)。
2.CBC(密码块链,使用一个秘钥和一个“初始化向量(IV)对数据进行加密转换,每个数据块加密都与上一个数据款有关联,如果数据在传输的过程中被窜改,那么整个数据都没有犯法解密了”)
3.非对称加密算法
其中的特点:1.加密后可逆,2.私钥加密公钥解密,公钥加密私钥解密。3.纯数学运算加密效率很低
4.应用场景
MD5:(1.一般用来密码加密2.版权问题3.搜索引擎(取MD5的值按位相加)4.百度云/360云的秒传(比对文件MD5的值))
DES:(标准的加密方式,因为强度不够,用的很少)
3DES:(对相同的数据进行3次加密,强度有所加强,用的更少)
AES:(高级加密标准,目前美国国家安全局用的就是AES)