哈希算法(Hash函数)简单介绍

1、什么是哈希算法?(Hash函数)

哈希算法的定义和原理:

将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则,就是哈希算法。而通过原始数据映射之后得到的二进制值串就是哈希值。

设计一个优秀的哈希算法,需要满足下面几点要求:

a.从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)
b.对输入的数据比较敏感,原始数据即使修改一个字节,最后得到的哈希值也大不相同
c.散列冲突的概率要小,对于不同的原始数据,哈希值相同的概率非常小
d.哈希算法的执行效率要尽量高,针对较长的文本,也能快速地计算出哈希值

2、哈希算法的应用

哈希算法的应用非常多,选择常见的七个进行说明。分别是:

安全加密、唯一标识、数据校验、散列函数、负载均衡、数据分片、分布式存储。

3.哈希算法的版本

Hash函数理论上是不可逆的,但并非就是安全的。列如有名的 Hash 函数 MD5,2004年8月中国密码学家王小云教授首次公布了提出一种寻找 MD5 碰撞的新方法。目前利用该方法用普通计算机几分钟内即可找到 MD5 的碰撞。因此,2008年以后 MD5 逐渐被更为安全的 SHA-256 替代
而在国内,则使用国密 SM3 代替。SM3 是在 SHA-256 的基础上进行改进,中国国家密码管理局 2010 年公布的中国商用密码算法标准

算法输出/位输入/位轮数是否找到冲突
MD512851264
SHA-116051280尚未找到
SHA-2 SHA-22422451264
SHA-2 SHA-25625651264
SHA-2 SHA-384384102480
SHA-2 SHA-512512102480
SM325651264
  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值