Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Bash 散列大文件的块_Bash_Hash - Fatal编程技术网

Bash 散列大文件的块

Bash 散列大文件的块,bash,hash,Bash,Hash,我有一个大的音频文件2小时foo.mp3。我想让第三方P验证其创建日期。但是,P只能查看或听到foo.mp3的某些小部分。在创建之日,尚不清楚哪些零件将提供给P 因此,我的计划是将foo.mp3分成小块,对这些小块进行散列,并将散列结果发布到网络上的某个地方,以备日后验证 分割foo.mp3并创建散列的bash脚本看起来如何?您不必将文件分割成块。现在只需发布整个文件的SHA256,当另一方访问该文件时,他们将能够看到该文件与您先前发布的SHA256总和相同。我建议至少使用SHA256作为哈希算

我有一个大的音频文件2小时foo.mp3。我想让第三方P验证其创建日期。但是,P只能查看或听到foo.mp3的某些小部分。在创建之日,尚不清楚哪些零件将提供给P

因此,我的计划是将foo.mp3分成小块,对这些小块进行散列,并将散列结果发布到网络上的某个地方,以备日后验证


分割foo.mp3并创建散列的bash脚本看起来如何?

您不必将文件分割成块。现在只需发布整个文件的SHA256,当另一方访问该文件时,他们将能够看到该文件与您先前发布的SHA256总和相同。我建议至少使用SHA256作为哈希算法

如果出于某种原因,您仍然决定这样做,我建议使用split1,然后运行sha256sum:

这将在split/目录中将文件拆分为8KB的块,并打印SHA256哈希。

1。将文件拆分为几个块 2.创建散列 3.在web上记录结果 使用sha256散列和/或sha256散列的大sha256散列文件的已发布文件的结果可能如下所示:

5B2718841D2F610CE2641760383DCA309FD5A6F8C745E7466AA6C157E0B279文件1.sha 0b568a4e802e9bc29740e8904c09f361c844dc4bd11d8855a188e81672f453ba文件2.sha D8FEC62A53228CF372CE81F4E3FD220B2DF7BB5D5F8B144C8FFA4E41A4 AEAAD4 Camera.zip AC0E59CAA3F91F49824540FA452E285B9E47843F24DDA39955A5287DB4C89B5 Camerasmall.zip e1f9b37f15eed99a8814f066021e6d370fd4e346b2779fc6494ee685b9e02467 SoundsSmall.zip
d054a2ac8adf069c2051659c68e38a7b6e26172afb2a6c377f7d067c666f9f6e声音。zip

我澄清了我的问题。块必须是完整的音频文件。好的。。。您使用什么来流式处理您的文件?您可以给出原始数据块或解码PCM的哈希值,但如果您的流媒体软件进行任何重新编码,哈希值都将完全不同。到目前为止,您尝试了什么?使用各种工具可以拆分音频文件。您是在寻找工具推荐,还是在寻找自己代码的帮助?
split -b8192 foo split/
sha256sum split/*
mp3splt -a -t 0.01 -o foo-@n -d outputDir foo.mp3
sha256sum outputDir/* > hashes.sha