学习了一个很好的默克尔树专题(https://blog.csdn.net/wo541075754/article/details/54632929),将自己对hash过程的理解费曼了一遍,请大家指正。
如何将“hello world!”进行哈希处理?
image.pngstep1:把数据分割成n块.
此处即把hello world!分割为5块, “he” ,"ll", "o","wo","rld","!"。
step2: 把数据块进行哈希运算.
假设这个神秘的哈希运算大法为hash(ooxx), 那么对step1中的数据块施法将得到哈希值:
hash(he)=00, hash(llo)=01, hash(wo)=10, hash(rld)=11 ,hash(!)=20;
此处的哈希值00,01,10是我随便写的,你明白它们是数据块的被哈希的结果就行啦..
step3: 将相邻两个hash块串联,再做hash运算.
hash(0001) =马,hash(1011)= 斯,hash(20)=克;
此处的哈希值马、斯、克是我随便写的,你明白它们是上一步的哈希结果再一次被哈希的结果就行啦..
step4: 重复step2 .
hash(马斯) =牛,hash(克)= 比;
step5:重复step2 ,完成哈希大法,将"hello word!"哈希为“666”.
hash(牛比) =666;
听说技术大牛和未来的技术大牛都有点赞的好习惯:)
网友评论