1、加密方式分类:
数据加密方式 | 描述 | 主要解决的问题 | 常用算法 |
---|---|---|---|
对称加密 | 指数据加密和解密使用相同的密钥 | 数据的机密性 | DES, AES |
非对称加密 | 也叫公钥加密,指数据加密和解密使用不同的密钥--密钥对儿 | 身份验证 | DSA,RSA |
单向加密 | 指只能加密数据,而不能解密数据 | 数据的完整性 | MD5,SHA系列算法 |
2、加密相关名词解释
HASH:一般翻译为‘散列’,就是指任意长度的输入,通过散列算法,变成固定长度的输出,该输出值就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同输入的可能会散列成相同的输出,而不可能从散列值来唯一的确认输入值。简单的说,hash算法就是一种将任意长度的消息压缩为某一个固定长度的消息摘要的函数。
MD5:全程Message Digest algorithm 5,即信息摘要算法。该算法可以生成定长的数据指纹,被广泛应用于加密和解密技术,常用于文件和数据完整性校验。
SHA:全称为Secure Hash ALgorithm,即安全散列算法/安全哈希算法。该算法为数字签名等密码学应用中的重要工具,被广泛应用于电子商务等信息安全领域。根据生成密文长度而命名的各种具体的算法有1、SHA1(160bits)、SHA224(224bits)、SHA384(384bits)等。
HMAC:全称为Hash Message Authentication Code,即散列消息鉴别码。HMAC是基于密钥的哈希算法认证协议,主要利用哈希算法(如MD5, SHA1),以一个密钥和一个消息作为输入,生成一个消息摘要作为输出,因此其具体的算法名称为HMAC-MD5、HMAC-SHA1等。可见HMAC算法是基于各种哈希算法的,只是它在运算过程中还可以使用一个密钥来增强安全性。