比特币加密哈希函数什么意思?怎么计算
比特币加密哈希函数什么意思?怎么计算?随着比特币和区块链被人们所了解,不少投资者对深层挖掘比特币很感兴趣,对比特币了解的人或多或少应该都听说过“加密哈希函数(cryptographic hash function)”这个术语。但是比特币加密哈希函数什么意思?怎么计算?
哈希函数不仅是比特币协议的重要部分,还是也是整个信息安全的重要部分。我们将在下文中通过一些简单的例子来展示哈希函数的工作原理。
什么是哈希函数?
从理论上讲,哈希函数就是一种数学流程,将任意大小的输入数据放入该流程,然后返回固定大小的输出数据。
更具体地讲就是,提取任意长度的字母序列作为输入——我们将其称为string——然后返回一个固定长度的字母序列。无论这个输入string是一个单一的字母,单词,句子还是整部小说,而输出的长度——叫做摘要(digest)——永远都是相同的。
这种类型的哈希函数的常见用例就是存储密码。
当你使用任何一种网络服务创建一种需要密码的用户账户时。这种密码都是通过哈希函数运行的,存储的就是该密码信息的哈希摘要。当你输入密码来登录账号时,然后相同的哈希函数就会去运行你输入的密码,然后服务器就会检查其结果是否与存储的摘要相匹配。
这就意味着即使黑客能够访问用于存储哈希的数据库,他们也不可能立即破坏所有用户账户,因为无法轻易找到生成某一特定哈希的密码。
Python简单哈希函数
你可以使用Python(Mac和Linux操作系统在默认情况下安装的编程语言)来实验哈希值。(本教程假设使用了某种版本的OSX或者Linux系统,因为Windows使用Python会更加复杂)
首先,打开终端,输入python并点击Enter。
然后你将进入Python REPL,在这种环境下,你可以直接试用Python命令,而不是在单独的文件中编写程序。
然后输入以下数值,在每行之后敲击Enter,并在标记处输入TAB:
importhashlibdefhash(mystring):[TAB]hash_object=hashlib.md5(mystring.encode())[TAB]print(hash_object.hexdigest())[ENTER]
这样你就创建了一个函数——hash(),该函数将计算出某一特定的使用MD5哈希算法的字符串的哈希值。将字符串插入上述的括号()中便可运行该函数。例如:
本文来源于网友自行发布,不代表本站立场,转载联系作者并注明出处