为什么,无论SHA-256算法的输入大小(在比特币挖掘中),它总是输出256位的结果?
此外,无论输入的大小如何,计算时间总是相同的?
答案 0 :(得分:3)
关于你的第一个问题,答案是它是设计的 - SHA-256算法旨在获取任意数量的输入数据并产生256位输出,同时还保持某些properties制作有效的加密哈希。其他散列算法产生不同的输出大小(例如,SHA-1产生160位输出,SHA-512产生512位输出等)。
你的第二个问题是基于一个不正确的假设 - 计算时间 取决于输入的大小 - 它自然需要更长的时间,甚至只是为了读取1MB文件而不是它读取1KB文件,由于散列依赖于输入的每一位,因此较大的输入将比较小的输入需要更长的时间。
答案 1 :(得分:1)
输出大小与它(算法)以这种方式设计的相同。
输入大小很重要 - 只需计算1GB文件和1KB文件的散列并进行比较 - 你会看到速度差异。