Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash SHA512的所有实现都应该给出相同的哈希吗?_Hash_Checksum_Sha512 - Fatal编程技术网

Hash SHA512的所有实现都应该给出相同的哈希吗?

Hash SHA512的所有实现都应该给出相同的哈希吗?,hash,checksum,sha512,Hash,Checksum,Sha512,我正在写一个SHA512函数。当我检查我在不同来源上加密的文件时,一个Linux SHA512SUM工具,几个网站,并通过我为SHA512提供的旧源代码运行它,它们都给出不同的哈希值。我在这个项目中的想法是,如果正确实现,所有哈希算法都将输出相同的哈希值,用作校验和。我这样想是不是错了?如果我错了,我该如何检查我的工作是否正确 提前感谢。是的,这是PKI的基本构建块之一:传递给散列的相同数据块应始终返回相同的散列值 不过,请注意解释:SHA-2(512)散列的结果是512位的块,而不是字符串值,

我正在写一个SHA512函数。当我检查我在不同来源上加密的文件时,一个Linux SHA512SUM工具,几个网站,并通过我为SHA512提供的旧源代码运行它,它们都给出不同的哈希值。我在这个项目中的想法是,如果正确实现,所有哈希算法都将输出相同的哈希值,用作校验和。我这样想是不是错了?如果我错了,我该如何检查我的工作是否正确


提前感谢。

是的,这是PKI的基本构建块之一:传递给散列的相同数据块应始终返回相同的散列值


不过,请注意解释:SHA-2(512)散列的结果是512位的块,而不是字符串值,因此将首先对其进行编码以供人类使用,因此,只要使用不同的编码,您就可能看到视觉上不同的结果。

是,这是PKI的基本构建块之一:传递给散列的相同数据块应始终返回相同的散列值


不过,请注意解释:SHA-2(512)散列的结果是512位的块,而不是字符串值,因此将首先对其进行编码以供人类使用,因此,在使用不同编码的问题上,您可能会看到视觉上不同的结果。

对于散列字符串,“您好”,Linux工具给出的前三个数字是“526”,而网站的开头是“523”。这一趋势持续下去,只有两个网站表示同意。我正在使用的源代码使用一种二进制形式来实际显示哈希。我怎么知道该使用哪种工具呢?散列是基于位和字节的,而不是文本,所以你必须考虑输入的解码版本。首先,尝试一些更相关的测试向量。通常,空字符串是一个很好的测试向量,但您可以通过简单的web搜索找到许多其他的测试向量。哦,当编码为8位ASCII字符串时,会返回以下哈希值(十六进制编码):523DF363AA22C25478A478D25E6945F842509DF8B77B0C755A40538A9A239AE178B3225F516BDB9E29F6D1CB7DE4F2CF74E67FD85F6D9817C48890D686D51838对于散列字符串“Hi here”,Linux工具给出前三个数字为“526”,而网站的开头为“523”。这一趋势持续下去,只有两个网站表示同意。我正在使用的源代码使用一种二进制形式来实际显示哈希。我怎么知道该使用哪种工具呢?散列是基于位和字节的,而不是文本,所以你必须考虑输入的解码版本。首先,尝试一些更相关的测试向量。通常,空字符串是一个很好的测试向量,但您可以通过简单的web搜索找到许多其他的测试向量。哦,“你好”,当编码为8位ASCII字符串时,返回以下哈希值(十六进制编码):523DF363AA22C25478A478D25E6945F842509DF8B77B0C755A40538A9A239AE178B3225F516BDB9E29F6D1CB7F2CF74E67F85F6D9817C48890D686D51838