主页 > imtoken转账需要验证码 > 比特币密码哈希函数是什么意思?如何计算

比特币密码哈希函数是什么意思?如何计算

imtoken转账需要验证码 2023-12-28 05:09:22

比特币加密哈希函数是什么意思? 如何计算? 随着比特币和区块链为人们所熟知,许多投资者对深入挖掘比特币非常感兴趣。 了解比特币的人应该或多或少听说过“加密哈希函数(cryptographic hash function)。)”这个词。 但是比特币加密哈希函数是什么意思呢? 如何计算?

比特币加密哈希函数什么意思?怎么计算1

哈希函数不仅是比特币协议的重要组成部分,也是整个信息安全的重要组成部分。 我们将通过下面的一些简单示例展示哈希函数的工作原理。

什么是哈希函数?

从理论上讲,哈希函数是一个数学过程,它接受任意大小的输入数据并返回固定大小的输出数据。

更具体地说,它将任意长度的字母序列作为输入——我们称之为字符串——并返回固定长度的字母序列。 无论输入字符串是单个字母、单词、句子还是整本小说比特币理财可信吗,输出(称为摘要)的长度始终相同。

此类哈希函数的一个常见用例是存储密码。

比特币之父能不能随意制造比特币_比特币价值比特币最新_比特币理财可信吗

当您使用任何网络服务创建需要密码的用户帐户时。 这种密码是通过哈希函数运行的,存储的是密码信息的哈希摘要。 当您输入密码登录帐户时,系统会对您输入的密码运行相同的哈希函数,服务器会检查结果是否与存储的摘要匹配。

这意味着即使黑客获得了对用于存储哈希值的数据库的访问权限,他们也无法立即破坏所有用户帐户比特币理财可信吗,因为生成特定哈希值的密码不容易找到。

Python简单哈希函数

您可以使用 Python(一种默认安装在 Mac 和 Linux 操作系统上的编程语言)来试验散列。 (本教程假设某些版本的 OSX 或 Linux,因为 Windows 使用 Python 更复杂)

首先,打开终端,输入 python 并按 Enter。

然后您将进入 Python REPL,这是一个您可以直接尝试 Python 命令的环境,而不是在单独的文件中编写程序。

然后输入以下值,在每行后按 Enter,并在标记处键入 TAB:

比特币之父能不能随意制造比特币_比特币价值比特币最新_比特币理财可信吗

import hashlib
def hash(mystring):
[TAB] hash_object = hashlib.md5(mystring.encode())
[TAB] print(hash_object.hexdigest())
[ENTER]

这样,您就创建了一个函数 - hash(),它将使用 MD5 哈希算法计算特定字符串的哈希值。 该函数通过在上面的括号 () 中插入字符串来运行。 例如:

hash("CoinDesk rocks")

比特币价值比特币最新_比特币之父能不能随意制造比特币_比特币理财可信吗

按 Enter 并查看该字符串的散列摘要。

您会看到,在同一个字符串上调用此散列函数将始终生成相同的散列值,但添加或更改其中的字符将生成完全不同的散列值:

hash("CoinDesk rocks") => 7ae26e64679abd1e66cfe1e9b93a9e85
hash("CoinDesk rocks!") => 6b1f6fde5ae60b2fe1bfe50677434c88

比特币哈希函数

在比特币协议中,哈希函数是区块哈希算法的一部分,可用于通过挖矿过程将新交易写入区块链。

在比特币挖矿中,函数的输入全部来自最近的未确认交易(以及与前一个区块相关的一些时间戳和对一些额外输入的引用)

比特币理财可信吗_比特币价值比特币最新_比特币之父能不能随意制造比特币

在上面的代码示例中,我们已经看到更改哈希函数的一小部分会导致完全不同的输出。 此属性对于挖矿过程中的“工作量证明(POW)”算法至关重要:为了成功“解决”一个区块,矿工需要将所有输入与他们自己的输入数据组合在一起,这样得到的哈希值将从一些 0 开始。

作为基本演示,我们可以尝试通过在“CoinDesk rocks!”之后手动添加感叹号 (!) 来“挖掘”我们的 Python 哈希函数。 哈希。

>>> hash("CoinDesk rocks!!")
66925f1da83c54354da73d81e013974d
>>> hash("CoinDesk rocks!!!")
c8de96b4cf781a6373766c668ceac0f0
>>> hash("CoinDesk rocks!!!!")

比特币之父能不能随意制造比特币_比特币价值比特币最新_比特币理财可信吗

9ea367cea6a2cc4a6f5a1d9a334d0d9e >>> hash("CoinDesk rocks!!!!!") b8d43387d98f035e2f0ac49740a5af38 >>> hash("CoinDesk rocks!!!!!!") 0fe46518541f4739613b9ce29ecea6b6 => SOLVED!

当然,解决一个比特币块的散列——在撰写本文时,它必须以 18 个零开头——需要非常大的计算负载(比特币网络的所有计算机处理能力加起来仍然需要将近 10 分钟才能解决一个堵塞)。

需要大量的处理能力意味着新比特币的挖掘需要很长时间才能完成,不可能一下子挖出所有的比特币。

以上就是比特币密码哈希函数是什么意思? 如何计算相关信息,了解计算公式,如果你想能够从挖矿中赚取比特币,你需要投入大量的工作来解决区块——通过获得这个奖励,你将所有新的交易锁定到一个块,即添加到之前所有交易的永久记录中:区块链。 更多比特币知识可在网贷信息中了解。