密码为什么要用Hash值储存?了解Hash算法原理

本文介绍了Hash(哈希)算法的基本概念、特性,包括正向快速、单项不可逆、不可预测和唯一性,并列举了常见算法如MD5和SHA系列。此外,还探讨了Hash算法在信息安全领域的应用,如文件校验、数字签名和鉴权协议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是Hash算法

Hash算法(哈希算法,Hash算式,散列算法,消息摘要算法)将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。

简单来说就是,哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。

二、Hash算法的特性

1、正向快速

给定明文和Hash算法,在有限时间和有限资源内能计算得到Hash值。

2、单项不可逆

只能单项从数据内容本身快速计算出对应的Hash值,反之无法从Hash值推算出数据内容本身。

3、不可预测

原始输入信息发生任何变化,新的Hash值都应该出现很大变化。

4、唯一性

不同的数据具有不同的Hash值。很难找到两个Hash值一致,但数据本身不一致的数据。

三、Hash算法有哪些

目前常见Hash算法有MD5和SHA系列,但是据说目前MD5和SHA1已经被攻破,所以一般推荐至少使用SHA2-256算法。

前面说了Hash算法就是可以将任意数据生成固定长度的16进制字符串,这里的数据可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值