【每日一知】什么是哈希? (2021.02.04 )

【每日一知】什么是哈希? (2021.02.04 )

一、简介

Hash,一般译做"散列",也可音译为"哈希"。

指把任意长度的输入(预映射 pre-image),
通过散列算法(Hash function)
变换成固定长度的输出(散列值)(通常为字母和数字组成的字符串)

二、特点

哈希运算有两个特点:

  • 唯一性
    只要原始信息***更改哪怕一个字节***,哈希计算的结果都会 完全不同
  • 不可逆
    哈希算法***不能*** 从结果推算出输入。

三、常见的哈希算法

  • MD5 消息摘要算法(MD5 Message-Digest Algorithm)
    可以产生一个128位(16字节)的哈希值,用于确保信息传输完整一致

  • SHA 安全哈希算法(Secure Hash Algorithm)

    • SHA-1 适用于数字签名算法(Digital Signature Algorithm DSA)。
    • SHA-256 是SHA-2下细分出的一种算法,一种密码散列函数算法标准,是SHA-1的后继者。
      SHA-2包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
      这些变体摘要长度循环次数不同,但算法的基本结构是一致的。

四、应用

  • 文件校验
    比对md5哈希值,从统计上保证两个文件是完全相同的,检验传输过程中是否出现错误,保证文件在传输过程中未被恶意篡改
  • 数字签名
    只有信息的发送者才能产生的别人无法伪造的一段数字串,同时也是对信息的发送者发送信息真实性的一个有效证明
  • 鉴权协议
    用于验证用户是否拥有访问系统的权利
  • 网站注册
  • 区块链
====================================================================
每日更新
如果你喜欢这样的形式,记得 留言点赞关注,你们的支持是我创作的动力,我也在分享的同时跟你们一起学习√
欢迎建议、指正、批评。

猜你喜欢

转载自blog.csdn.net/qq_51366188/article/details/113629845