为什么sha-256的输出结果总是256位且执行时间总是相同?

时间:2013-11-09 19:26:59

标签: encryption sha256 bitcoin computation

为什么,无论SHA-256算法的输入大小(在比特币挖掘中),它总是输出256位的结果?

此外,无论输入的大小如何,计算时间总是相同的?

2 个答案:

答案 0 :(得分:3)

关于你的第一个问题,答案是它是设计的 - SHA-256算法旨在获取任意数量的输入数据并产生256位输出,同时还保持某些properties制作有效的加密哈希。其他散列算法产生不同的输出大小(例如,SHA-1产生160位输出,SHA-512产生512位输出等)。

你的第二个问题是基于一个不正确的假设 - 计算时间 取决于输入的大小 - 它自然需要更长的时间,甚至只是为了读取1MB文件而不是它读取1KB文件,由于散列依赖于输入的每一位,因此较大的输入将比较小的输入需要更长的时间。

答案 1 :(得分:1)

输出大小与它(算法)以这种方式设计的相同。

输入大小很重要 - 只需计算1GB文件和1KB文件的散列并进行比较 - 你会看到速度差异。