##加密算法
- BASE64
简介:网络上最常见的用于传输8bit字节代码的编码方式之一。
用途:对一些安全程度要求不高的明文进行加密,使明文信息具有不可读性。 2. MD5(Message diges他algorithm 5)
简介:用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一。
特点:
1. 压缩性:对任意长度的数据,得出的MD5长度都是固定的。
2. 容易计算:
3. 抗修改性:细微的修改,最终得到的MD5值都会有很大的差异。
4. 强抗碰撞:难以伪造一份与元数据拥有相同MD5值的数据
用途:
1. 用于文件的校正
2. 数字签名:防止信息在传播的过程中遭到修改
3. 安全访问认证。
- SHA(Secure Hash Algorithm)
简介:主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法
用途:与MD5算法的用途相似。
相较于MD5的优缺点:
1. 由于SHA算法生成的是160bit的哈希值,相较于128bit的MD5算法更加安全
2. 在相同的硬件上,SHA的运行算法比MD5慢
- HMAC(Hash Message Authentication Code)
简介:HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
用途:主要用于身份验证
优点:由于密匙的引入,确保生成的哈希值只在当前会话中有效,相较于单纯的使用哈希算法更加的安全
-
DES(Data Encryption Standard)
-
PBE(Password-based encryption)
-
RSA