区块链基础之哈希函数

一番码客 : 挖掘你关心的亮点。
http://efonfighting.imwork.net

本文目录:

初识hash函数

Hash(“原文”)=“密文”

在这里插入图片描述

  • 基本概念:
    • 哈希函数,也称散列函数。
    • 更像是一种思想,没有一个固定公式。
    • 只要符合散列思想的的算法都可以成为哈希函数。
  • 唯一性:
    • 世界上没有完全相同的两片叶子,每一件事物都有自己的特征。
    • Hash函数可以提取数据的特征。
    • 将任意原文生成固定长度的唯一的密文。
    • 任意原文 → hash函数处理 → 唯一的固定长度的密文。
  • 不可逆:
    • 不能通过密文推算出原文内容。

hash函数的作用

  • 隐私问题
    • 用hash函数来提取该事物的特征码,用sha256甚至以上来保证不被破解。
  • 快速对账问题
    • 分布式现金系统,数字化货币一定要解决的问题。
    • hash来解决快速对账问题,同样的内容的sha256一定是一样的。

hash算法的安全性

常见的Hash算法
MD5
MD5("efonmark")=08c4c0b7fb85ec581ade87563762a08f
  • 长度
    • 16进制:32位
    • 2进制:128位
  • 可能性
    • 2128
  • 安全性
    • 可穷举,不安全
SHA1
SHA1("efonmark") = 3b9c6146dd3f0a4b613e530b0bf8124b9337bc46
  • 长度
    • 16进制:40位
    • 2进制:160位
  • 可能性
    • 2160
  • 安全性
    • 不安全
    • 谷歌发现首个哈希碰撞:两个文件的SHA1值完全一样。
    • 目前只有sha1出现了哈希碰撞。
SHA256
SHA256("efonmark") = e233d59a649adfde5c3360d4f7a82c611531373642be013515550f994309ca57
  • 长度
    • 16进制:64位
    • 2进制:256位
  • 可能性
    • 2256
  • 安全性
    • 目前高算力个人计算机:每秒232次hash。
    • 淘宝全网算力:每秒264次hash。
    • 全球所有ipv4地址都有一个淘宝算力:每秒296次hash。
    • 整个银河系所有星球,每个星球都有ipv4个淘宝算力:每秒2128次hash。
    • 整个宇宙所有星球,每个星球都有ipv4个淘宝算力:每秒2160次hash。
    • 整个宇宙所有星球,每个星球都有ipv4个淘宝算力,穷举完需要2.5*1021年。

在这里插入图片描述

哈希碰撞
  • 原文无固定长度,无边界。
  • 密文有固定长度,有边界。
  • 理论上讲两个不同原文可能产生同一密文,只是概率极低。
  • 暴力穷举可产生哈希碰撞。
  • 挖矿
    • 比特币挖矿:穷举产生小于某个值的hash值。
    • 比特币算力:

在这里插入图片描述

钱包的创建

  • 创建条件
    • 无需网络
    • 无需服务商
    • 甚至可以无需电脑(算盘)
  • 冷钱包:生成的私钥不存储在电脑、网络世界中。

参考

  • 百度百科

    https://baike.baidu.com/item/Hash/390310

  • 黑马程序员 120天全栈区块链开发 开源教程

    https://github.com/itheima1/BlockChain


**一番雾语:**数学密码学还是非常有意思的。


免费知识星球: 一番码客-积累交流
微信公众号:一番码客
微信:Efon-fighting
网站: http://efonfighting.imwork.net

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一番码客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值