windows 和 Linux 中文件的校验和是否相同?
Are Checksums for a file same in windows and Linux?
我正在为 Mac 和 windows 中的 apk 文件创建 Sha1 校验和。我在 mac 中使用相同的文件 我使用这个
cat AppName.apk |openssl dgst -binary -sha1 | openssl base64 | tr '+/' '-_' |tr -d '='
// I get 7pF3C4YCqMHKXOzOep_DW1feJxE
在 Windows 中,我使用了提到的各种方法 here 并且它们都生成了相同的校验和。
ee91770b8602a8c1ca5cecce7a9fc35b57de2711
同一个文件的sha1 hash为什么不一样?或者哈希可以是这两者?我在这里很困惑。谁能解释一下?
您在 Mac 上使用的命令确实以 base64 编码校验和(这很不常见),而在 Windows 上您将校验和编码为十六进制数字。
您可以使用 OS X:
的 shasum
命令在文件上创建 SHA-1 校验和
shasum AppName.apk | sed -e 's/ .*//'
(对 sed 的管道调用是可选的,仅用于删除通常由 shasum 在校验和输出后添加的文件名。)
您甚至可以验证两个平台基本上计算出相同的校验和,只是通过从 Base64 转码为十六进制来对其进行不同的编码:
echo 7pF3C4YCqMHKXOzOep_DW1feJxE= | base64 -D| hexdump
结果:
0000000 ee 91 77 0b 86 02 a8 c1 ca 5c ec ce 7a 9f c3 5b
0000010 57 de 27 11
你在 Windows.
上得到的校验和是哪个
我正在为 Mac 和 windows 中的 apk 文件创建 Sha1 校验和。我在 mac 中使用相同的文件 我使用这个
cat AppName.apk |openssl dgst -binary -sha1 | openssl base64 | tr '+/' '-_' |tr -d '='
// I get 7pF3C4YCqMHKXOzOep_DW1feJxE
在 Windows 中,我使用了提到的各种方法 here 并且它们都生成了相同的校验和。
ee91770b8602a8c1ca5cecce7a9fc35b57de2711
同一个文件的sha1 hash为什么不一样?或者哈希可以是这两者?我在这里很困惑。谁能解释一下?
您在 Mac 上使用的命令确实以 base64 编码校验和(这很不常见),而在 Windows 上您将校验和编码为十六进制数字。
您可以使用 OS X:
的shasum
命令在文件上创建 SHA-1 校验和
shasum AppName.apk | sed -e 's/ .*//'
(对 sed 的管道调用是可选的,仅用于删除通常由 shasum 在校验和输出后添加的文件名。)
您甚至可以验证两个平台基本上计算出相同的校验和,只是通过从 Base64 转码为十六进制来对其进行不同的编码:
echo 7pF3C4YCqMHKXOzOep_DW1feJxE= | base64 -D| hexdump
结果:
0000000 ee 91 77 0b 86 02 a8 c1 ca 5c ec ce 7a 9f c3 5b
0000010 57 de 27 11
你在 Windows.
上得到的校验和是哪个