哈希(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日

相关推荐

  • URI、URL、URN的区别

    一个HTTP请求的目的是呼叫“资源”,可以是文档、照片或其他任何内容。那如何表达“资源”的唯一性呢? URI URI 指统一资源标识符(Uniform Resource Identifier),用来标识资源的唯一性。 URL URL 指统一资源定位符(Uniform Resource Locator),URI的子集,是…

    HTTP经验 2020年9月17日
    01.7K0
  • OSI7层网络参考模型的详解

    第7层:应用层 各种应用程序协议。 比如:HTTP(S)、FTP、SMTP、POP3、DNS(域名解析协议)、DHCP(IP动态配置协议)、腾讯QQ即时通讯私有协议、WeChat腾讯微信即时通讯私有协议、TikTok抖音短视频软件私有协议、RPC远程过程调用协议、TeamViewer软件远程连接控制私有协议、Thund…

    HTTP经验 2021年11月26日
    06930
  • SOCKS、Socket、WebSocket的区别

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

    HTTP经验 2021年11月26日
    03.1K0

发表回复

登录后才能评论