Bitcoin Forum
May 28, 2024, 06:00:32 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: 初步理解哈希算法  (Read 240 times)
ji23189455 (OP)
Member
**
Offline Offline

Activity: 274
Merit: 15


View Profile
March 21, 2018, 01:37:59 AM
Merited by sunshinewang (1)
 #1

哈希算法可以说是密码学的基础,也是理解比特币的一个重要基础概念。

比特币的主要特点就是不可篡改性,这一点正式由哈希算法所达到的。

当前各种区块链概念下发展起来的应用,尤其是存储类如IPFS、再到版权应用如PressOne所提出的概念里,均是通过对文件进行哈希计算,然后仅仅将哈希值存储到区块链上,而非文件本身,就这样可以达到验证文件唯一性的目的。

之所以很多把哈希值当做是文件指纹,因为它是文件唯一性的标志,与每一个字节都有关,当文件发生改变是,指纹值也会改变。

哈希算法有个显著的特点:
单向加密、不可逆

它的实现原理往往是通过丢掉一部分信息来实现的。

比如:给出一串数字12345,你对它进行平方,去掉前三位,再除以固定的数字比如678,取整数。

1,12345x12345=152399025
2, 去掉前三位就是399025
3,399025/678=588.532448
4,取整数为558


可以看到,通过固定的计算公式,可以由12345得出558的结果,但仅仅提供558这个数字,尽管把算法公开,你也几乎不可能再推导出它计算前的数字。

这种丢掉一部分信息的加密方式被称为“单向加密”,即哈希算法。

一个可靠的哈希算法至少需要满足一下几个条件:

1,对于给定的数据M,很容易算出哈希值X=F(M);
2,根据X很难算出M;
3,很难找到M和N令F(M)=F(N)。

目前互联网上使用的比较多哈希算法有:
MDA
SHA-256

这些哈希算法远比上面举的例子要复杂得多。

那SHA-256举例,任意输入一串字符,可以得的固定64位长度的字符。

具体的计算方法相当复杂,实现步骤还需要看百科....

网上有很多在线计算哈希值的有工具,可以做个试验:
http://www.atool.org/hash.php

这种加密方式有这些显著的特点:
算法公开。
对于一串很长的数据,仅仅改变一个字母,也会造成二次哈希结果的巨大差异。
任意长度的输入(不超过2^64 bit),都可以得到固定长度的输出。

单向加密算法并不能用来进行普通的信息传输,更多是用来进行传输结果的准确性验证。

验证方通过再进行一次哈希运算,将结果与原有值想对比,就可以知道文件是否有被篡改过了。

介绍一个工具: Proof Of Existence.
https://proofofexistence.com/

通过支付一点bitcoin, 它可以帮你将你的重要文件做一个哈希运算,并将哈希值以及当前时间永久地存储在比特币区块链的某笔交易记录里。这样的好处就是为你的文件做一个在某个时刻就已经存在的证明,可作为版权正面的一个雏形...


最后
最近有什么签名可以做么,一堆token实在提不起兴致,大家给点建议呀。
thelastman
Full Member
***
Offline Offline

Activity: 255
Merit: 100

thelastman


View Profile
March 21, 2018, 02:13:40 AM
 #2

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

do just like you already have
ji23189455 (OP)
Member
**
Offline Offline

Activity: 274
Merit: 15


View Profile
March 21, 2018, 02:36:10 AM
 #3

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

鱼不可脱于渊,国之利器不可以示人。 Smiley
co201711
Newbie
*
Offline Offline

Activity: 54
Merit: 0


View Profile
March 21, 2018, 02:57:49 AM
 #4

感觉挺复杂的
Gianten
Newbie
*
Offline Offline

Activity: 81
Merit: 0


View Profile
March 21, 2018, 03:03:55 AM
 #5

技术这种东西,不是理科男还真的不好搞懂,对于懂技术的人炒币,他们就知道哪些ico是骗炮的
100wdxbb
Member
**
Offline Offline

Activity: 101
Merit: 10


View Profile
March 21, 2018, 03:13:07 AM
 #6

那x13算法呢,不是说比256算法更厉害吗。
heyouyou
Member
**
Offline Offline

Activity: 185
Merit: 10


View Profile
March 21, 2018, 03:18:16 AM
 #7

可以可以,学习了,虽然楼主只发了一点皮毛,不过也够我这种小白理解了,太复杂的东西就看不懂了,希望论坛可以多一些这样的科普贴,挺有意思的。

▰   SEMUX   -   An innovative high-performance blockchain platform   ▰
■▬▬▬▬▬      Powered by Semux BFT consensus algorithm      ▬▬▬▬▬■
Github   -   Discord   -   Twitter   -   Telegram   -   Get Free Airdrop Now!
muscleren
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
March 21, 2018, 03:19:22 AM
 #8

白话文就是容易看懂啊
log201800
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
March 21, 2018, 03:34:16 AM
 #9

学到了一课
BestBrain
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
March 21, 2018, 03:38:48 AM
 #10

挺复杂有空再看
EElan
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
March 21, 2018, 03:39:04 AM
 #11

谢谢分享 Grin
XXBonqueBr
Newbie
*
Offline Offline

Activity: 100
Merit: 0


View Profile
March 21, 2018, 03:41:42 AM
 #12

对于一个小白来说,这个哈希算法就跟小学生看奥数题一样,一头雾水
zooe
Member
**
Offline Offline

Activity: 140
Merit: 10


View Profile
March 21, 2018, 03:43:07 AM
 #13

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工



谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

鱼不可脱于渊,国之利器不可以示人。 Smiley

首先,我发现上面这两个回帖的人应该是互相关联的小号。
第二,两个号应该是和楼主,也是关联的。
言归正传,不管怎么样,还是感谢分享文章,其实大家都听过这些概念,相信也大概接触过类似的文章,但是如果只是照搬的话,最大的启示还是不大的,最好是能举一些例子。
ji23189455 (OP)
Member
**
Offline Offline

Activity: 274
Merit: 15


View Profile
March 21, 2018, 04:29:05 AM
 #14

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工



谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

鱼不可脱于渊,国之利器不可以示人。 Smiley

首先,我发现上面这两个回帖的人应该是互相关联的小号。
第二,两个号应该是和楼主,也是关联的。
言归正传,不管怎么样,还是感谢分享文章,其实大家都听过这些概念,相信也大概接触过类似的文章,但是如果只是照搬的话,最大的启示还是不大的,最好是能举一些例子。
首先,我也很想有个full member的号。
第二,你这个号才是真正的小号。
言归正传,觉得不行你可以给大家发一点有用的东西,而不是一个源石币的短文拿大号来点10个赞,谢谢。
popoQ
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 21, 2018, 04:39:40 AM
 #15

謝謝分享
PretboyIM
Newbie
*
Offline Offline

Activity: 83
Merit: 0


View Profile
March 21, 2018, 06:01:57 AM
 #16

学习到了,科普帖子,帮楼主顶一下,让更多的人可以了解到,谢谢楼主的分享。
PretboyIM
Newbie
*
Offline Offline

Activity: 83
Merit: 0


View Profile
March 21, 2018, 06:11:12 AM
 #17

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工



谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

鱼不可脱于渊,国之利器不可以示人。 Smiley

首先,我发现上面这两个回帖的人应该是互相关联的小号。
第二,两个号应该是和楼主,也是关联的。
言归正传,不管怎么样,还是感谢分享文章,其实大家都听过这些概念,相信也大概接触过类似的文章,但是如果只是照搬的话,最大的启示还是不大的,最好是能举一些例子。
首先,我也很想有个full member的号。
第二,你这个号才是真正的小号。
言归正传,觉得不行你可以给大家发一点有用的东西,而不是一个源石币的短文拿大号来点10个赞,谢谢。
牛逼啊,楼主你是怎么一下就看出他的赞是大号点的?可以教教我怎么看的吗?我很好奇,不胜感激。
airy98
Newbie
*
Offline Offline

Activity: 95
Merit: 0


View Profile
March 21, 2018, 06:21:48 AM
 #18

谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工



谢谢楼主,很好的帖子!
通过丢掉一部分信息,保证信息的不可逆解密!从而实现信息加密!
这种思想就跟道德经的---“将欲翕之,必固张之”,异曲同工

鱼不可脱于渊,国之利器不可以示人。 Smiley

首先,我发现上面这两个回帖的人应该是互相关联的小号。
第二,两个号应该是和楼主,也是关联的。
言归正传,不管怎么样,还是感谢分享文章,其实大家都听过这些概念,相信也大概接触过类似的文章,但是如果只是照搬的话,最大的启示还是不大的,最好是能举一些例子。
首先,我也很想有个full member的号。
第二,你这个号才是真正的小号。
言归正传,觉得不行你可以给大家发一点有用的东西,而不是一个源石币的短文拿大号来点10个赞,谢谢。
楼主,同求方法,怎么一眼看出来他的赞是用大号点的,感觉很厉害呢
birdeye101
Jr. Member
*
Offline Offline

Activity: 38
Merit: 9


View Profile
March 23, 2018, 02:34:39 PM
 #19

谢谢大佬的分享
AconZtt
Full Member
***
Offline Offline

Activity: 252
Merit: 100



View Profile
March 24, 2018, 04:14:32 AM
 #20

哈希算法有点复杂啊,我没怎么看懂,不过还是感谢楼主的分享,等我知识水平够了估计久能理解了
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!