bash - 哈希大文件 block

标签 bash hash

我有一个很大的音频文件(2 小时)foo.mp3。我想让第三方P验证其创建日期。然而,P 只能看到(听到)foo.mp3 的一小部分。在创建之日,尚不清楚将向 P 提供哪些部件。

所以我的计划是将 foo.mp3 分割成小块,对这些 block 进行哈希处理并将哈希值发布到网络上的某个位置以供以后验证。

分割 foo.mp3 并创建哈希值的 bash 脚本会是什么样子?

最佳答案

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

现在,如果您仍然决定出于某种原因必须这样做,我建议使用 split(1),然后运行 ​​sha256sum:

mkdir split
split -b8192 foo split/
sha256sum split/*

这会在 split/ 目录中将文件分割成 8KB block ,并打印 SHA256 哈希值。

关于bash - 哈希大文件 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49587200/

相关文章:

bash - 如何根据条件从数据 block 中获取特定数据

linux - 如何在unix中显示文件第n行的所有行

bash - GNU 并行 : split file into children

bash - kubectl 在 bash 脚本中使用内联选项而不是 yaml 文件创建

ruby-on-rails - Ruby:IF 语句中的 Nils

Bash pid 根本不返回任何内容

algorithm - 集交集基数的快速近似算法

mysql - 为 mysql 编译了 sha256 库,但它产生的散列不同于 dovecot 的 sha256

C : Store and index a HUGH amount of info! 学校项目

ruby - .each_with_object ruby 解释?