我正在上学的实验室的一小部分要求我取一个文件,使用openssl sha256对值进行散列,然后更改1位,重新进行比较并比较值。他们特别想要我:
“您可以编写一个简短的程序来计算H1和H2之间的位数相同”
目前输出形式是十六进制转储,每当我尝试将-binary添加到openssl命令时,例如:
openssl dgst -sha256 -binary largefile.txt > hashInBinary.txt
我一直在接收无法读取的符号,而不是1和0。在这一点上,我真的不确定如何以任何其他方式处理这个问题。我不明白为什么在添加-binary时我没有收到哈希值的二进制格式(1010101011)。有什么想法吗?
答案 0 :(得分:0)
基于"我一直在接收无法阅读的符号"我假设你实际上得到了二进制输出。所以1&0和#0。问题是你的编辑器试图以可读的格式表示它,因此它需要某种编码(比方说ascii)。它读取一个字节并将其打印在屏幕上。但是,您希望在二进制级别上查看值,而不是字节级别。
您可以使用xxd -b hashInBinary.txt
查看散列的结果。