我有一个很大的音频文件(2小时)foo.mp3
。我想让第三方P验证其创建日期。然而,P只能查看(听到)foo.mp3
的某些小部分。在创建之日,不清楚将向P提供哪些部分。
所以我的计划是将foo.mp3
拆分成小块,散列这些块并在网上的某处发布哈希值,以便以后验证。
bash脚本如何分割foo.mp3
并创建哈希?
答案 0 :(得分:2)
您不必将文件拆分为块。现在只需发布整个文件的SHA256,当对方访问该文件时,他们将能够看到它与您之前发布的SHA256总和相同。 (我建议至少使用SHA256作为哈希算法。)
现在,如果您仍然因某种原因决定必须这样做,我建议您使用split
(1)然后运行sha256sum
:
split -b8192 foo split/
sha256sum split/*
这会在split/
目录中创建文件拆分为8KB块并打印SHA256哈希值。
答案 1 :(得分:1)
mp3splt -a -t 0.01 -o foo-@n -d outputDir foo.mp3
sha256sum outputDir/* > hashes.sha
使用sha256哈希和/或sha256哈希大sha256哈希文件的已发布文件的结果可能如下所示:)
5b2718841d2f610ce264191760383dca309fd5a6f8c745e7466aa6c157e0b279 Files1.sha 0b568a4e802e9bc29740e8904c09f361c844dc4bd11d8855a188e81672f453ba Files2.sha d8fec62a53228cf372ce81f4e3fd220b2df7bb5d5f8b144c8ffa4e41a4aeaad4 Camera.zip ac0e59caa3f91f49824540fa452e285b9e47843f24dda309955a5287db4c89b5 Camerasmall.zip e1f9b37f15eed99a8814f066021e6d370fd4e346b2779fc6494ee685b9e02467 SoundsSmall.zip d054a2ac8adf069c2051659c68e38a7b6e26172afb2a6c377f7d067c666f9f6e Sounds.zip