首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
虚拟化.超融合.云计算
›
公有云
›
SAAS
›
密码学工具包中的Hash函数
返回列表
发新帖
密码学工具包中的Hash函数
[复制链接]
发表于 2025-9-11 09:09:20
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
目录
Hash的定义
Hash的特性
Hash的计算原理
Hash函数是密码学工具包中常用的工具之一,学习它和学习它的运作原理有利于对体系的理解。
Hash的定义
密码学哈希算法是一种特殊的函数,它吸收任意长度的输入数据(称为“消息”),并将其转换(或“压缩”)成一个固定长度的、看似随机的字符串(称为“哈希值”、“摘要”或“指纹”)。
你可以把它想象成一个高度安全且高效的“数字指纹生成器”。无论你输入的是整本百科全书还是仅仅一个字母,它都会输出一个固定长度(例如SHA-256是256位,即64个十六进制字符)的唯一摘要。
核心公式:
哈希值 = HashFunction(消息)
例如:
HashFunction("Hello World")
->
a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146
复制代码
Hash的特性
三个特性:
确定性
相同的输入消息肯定会产生完全相同的输出哈希值。
这是最基本的要求,否则无法进行验证。
高效性
计算任何长度消息的哈希值都应该非常快速(在当代硬件上)。
无论是1KB的文件还是1TB的文件,计算其哈希值的时间应该是线性的且可接受的。
抗碰撞
极其困难(在计算上不可行)找到两个不同的输入消息,使得它们的哈希值相同。
Hash的计算原理
在数学上,单向函数是满足以下两个条件的函数 ( f ):
正向计算容易
:给定任何输入 ( x ),计算$ ( y = f(x) ) $是高效的。
逆向计算困难
:给定一个输出效果 ( y ),想要找到任何一个输入$ ( x' ) 使得 ( f(x') = y ) $ 是计算上不可行的(需要耗费资源巨大)。
一个简单的类比(但不是完善的哈希)
:
想象一个函数 $ ( f(a, b) = a \times b )$。
正向计算
:计算 $ ( 13 \times 17 = 221 )$ 非常快。
逆向计算
:如果我只告诉你效果是 $ ( 221 )$,让你找出是哪两个质数相乘得到的,这就困难过多(你需要进行质因数分解)。
哈希函数就是利用了这种
数学上的不对称性
:计算容易,反转极难。当代哈希算法的“反转”困难度建立在诸如
模运算、位运算、逻辑函数
等数学操作混合的复杂性之上,其安全性可归约到一些著名的数学难题(如探求碰撞)。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
返回列表
钜形不锈钢水箱
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表