哈希(Hash)算法、对称(Symmetric)加密算法、非对称(Asymmetric)加密算法的区别

1.哈希(Hash)算法

哈希(Hash)算法,又称散列算法,是一种单向(One-way)不可逆加密算法:明文通过使用盐(随机数)被加工成一个唯一的摘要,因为没有解密用的密钥,所以密文不可逆转为明文。

使用场景:因为摘要的唯一性,所以哈希算法常用于使用这种唯一性来比较数据。

例如,用户首次注册时,用户提交的密码被加盐以后生成摘要和盐一起存储在数据库,用户下次登陆时,用户提交的密码与数据库存储的盐加工成摘要与存储在数据库的摘要进行比对,比对通过就登陆成功,反之拒绝登陆。

哈希算法描述
MD2Message Digest Algorithm 2
MD4Message Digest Algorithm 4
MD5Message Digest Algorithm 5
SHA 或 SHA-0Secure Hashing Algorithm
SHA-1Secure Hashing Algorithm 1
SHA-2Secure Hashing Algorithm 2
SHA-3Secure Hashing Algorithm 3
SHA-256Secure Hashing Algorithm 256
CRC32Cyclical Reduction Check 32
HMACHash-based Message Authentication Code
HAVALHAsh of VAriable Length
WHIRLPOOL——————
TIGER——————
BCrypt——————
Argon2——————

2.对称(Symmetric)加密算法

对称(Symmetric)加密算法是一种双向(Two-way)可逆加密算法:首先明文被加密为密文,然后以密文形式传输,最后在到达目的地后,通过密钥将密文解密为明文。

对称加密算法使用相同的密钥进行加密和解密,所以才叫做对称加密算法。

使用场景:对称加密算法往往用于加密传输中的数据。

对称加密算法描述
DESData Encryption Standard
3DESTriple Data Encryption Algorithm
AESAdvanced Encryption Standard
RC4Rivest Cipher 4
RC5Rivest Cipher 5
RC6Rivest Cipher 6
Blowfish——————
IDEAInternational Data Encryption Algorithm

3.非对称(Asymmetric)加密算法

非对称(Asymmetric)加密算法也是一种双向(Two-way)可逆加密算法。

非对称加密使用两个不同的密钥(私钥和公钥)进行加密和解密。私钥用于加密数据,除了加密数据的人之外,对所有人保密。公钥对任何人都可用,并用于解密。

使用场景:同对称加密算法。

非对称加密算法描述
RSARivest-Shamir-Adleman
ECCElliptic Curves Cryptography
DSADigital Signature Algorithm
DHDiffie Hellman
El Gamal——————
ECDSAElliptic Curve Digital Signature Algorithm
PGPPretty Good Privacy

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/httpexp/3685.html

(3)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2021年11月26日
下一篇 2021年12月7日

相关推荐

  • 客户端的两种客户端存储:Cookie和Web Storage

    1.Cookie HTTP 是无状态协议,之前已认证成功的用户状态无法通过协议层面保存下来。即无法实现状态管理,因此即使当该用户下一次继续访问,也无法区分他与其他的用户。于是我们会使用 Cookie 来管理 Session,以弥补 HTTP 协议中不存在的状态管理功能。 步骤 1: 客户端把用户 ID 和密码等登录信息…

    HTTP经验 2023年2月14日
    03870
  • 宝塔面板网站升级了php版本以后502 Bad Gateway错误最佳解决方案

    初期安装的是php7.3版本,用宝塔面板一键部署Wordpress,一次偶然的机会看到php可以升级到7.4版本,那就升级吧,升级过后发现网站nginx报502错误,很明显是php与nginx这块的衔接问题(因为别的本人都没动过)。 解决方案如下: 1.检查Nginx配置文件 首先打开Nginx的配置文件查看: 我们发…

    HTTP经验 2020年1月15日
    08.3K3
  • SOCKS、Socket、WebSocket的区别

    1.SOCKS是协议 SOCKS是防火墙安全会话转换协议(Protocol for sessions traversal across firewall securely),是客户端和服务端之间的代理协议。 举例来说,Bill希望通过互联网与Jane沟通,但他们的网络之间存在一个防火墙,Bill不能直接与Jane沟通,…

    HTTP经验 2021年11月26日
    03.1K0

发表回复

登录后才能评论