作者 一番码客
文章目录
初识hash函数
hash函数的作用
hash算法的安全性
常见的Hash算法
MD5
SHA1
SHA256
哈希碰撞
钱包的创建
参考
初识hash函数
Hash(“原文”)=“密文”
基本概念:
哈希函数,也称散列函数。
更像是一种思想,没有一个固定公式。
只要符合散列思想的的算法都可以成为哈希函数。
唯一性:
世界上没有完全相同的两片叶子,每一件事物都有自己的特征。
Hash函数可以提取数据的特征。
将任意原文生成固定长度的唯一的密文。
任意原文 → hash函数处理 → 唯一的固定长度的密文。
不可逆:
不能通过密文推算出原文内容。
hash函数的作用
隐私问题
用hash函数来提取该事物的特征码,用sha256甚至以上来保证不被破解。
快速对账问题
分布式现金系统,数字化货币一定要解决的问题。
hash来解决快速对账问题,同样的内容的sha256一定是一样的。
hash算法的安全性
常见的Hash算法
MD5
1 MD5(“efonmark”)=08c4c0b7fb85ec581ade87563762a08f
长度
16进制:32位
2进制:128位
可能性
2128
安全性
可穷举,不安全
SHA1
1 SHA1(“efonmark”) = 3b9c6146dd3f0a4b613e530b0bf8124b9337bc46
长度
16进制:40位
2进制:160位
可能性
2160
安全性
不安全
谷歌发现首个哈希碰撞:两个文件的SHA1值完全一样。
目前只有sha1出现了哈希碰撞。
SHA256
1 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
————————————————
版权声明:本文为CSDN博主「efonfighting」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。