将“ sha1sum”传递到“ tar”输出时使用不同的哈希码

卢西亚诺

在AIX系统(v 7.1)sha1sum中,将其直接管道传输到的输出tar与读取文件时相比,正在计算不同的哈希码

原因是什么?是否有解决方法,可以直接从tar管道输出中获取哈希码

(在Debian和Ubuntu等其他系统中,通过管道传输sha1sumtar输出效果很好)

folder=myfolder
tarfile=myfolder.tar

tar -cf $tarfile $folder && sha1sum $tarfile
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d  myfolder.tar

tar -cf $tarfile $folder && sha1sum $tarfile
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d  myfolder.tar

tar -cf - $folder > $tarfile && sha1sum $tarfile
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d  myfolder.tar

tar -cf - $folder > $tarfile && sha1sum $tarfile
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d  myfolder.tar

tar -cf - $folder | sha1sum
f1dd1a0c4e82dd5c441664869b656c7bce799270  -

tar -cf - $folder | sha1sum
f1dd1a0c4e82dd5c441664869b656c7bce799270  -
卢西亚诺

该问题的原因是命令tar它具有由固定数量的512字节块组成的内部记录。每个记录的块数可以使用参数设置-b

一些实现可以根据文件描述符(如果它是磁带设备,常规文件或管道)自动调整块的数量。

使用-b参数固定数可解决此问题。就像:tar -b1 -cf - $folder | sha1sum但是要匹配我必须使用的问题的前两个命令中预定义的默认块-b20(对于常规文件中存储的归档,默认记录为10240字节):

$ tar -b20 -cf - $folder > $tarfile && sha1sum $tarfile
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d  myfolder.tar

$ tar -b20 -cf - $folder |sha1sum                      
fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用GET方法将sha1sum插入curl的URL

来自分类Dev

使用awk使用sha1sum进行哈希

来自分类Dev

使用awk使用sha1sum进行散列

来自分类Dev

Java SHA1输出与Linux的sha1sum命令不同

来自分类Dev

带有sha1和sha1sum的hashdeep创建不同的结果

来自分类Dev

Git哈希输出与sha1sum不匹配,为什么?

来自分类Dev

sha1sum报告相对于openssl的不同哈希值

来自分类Dev

sha1sum函数如何为您提供唯一的哈希?

来自分类Dev

为什么这些重复的SD卡的内容具有不同的sha1sum?

来自分类Dev

为什么sha1sum在相同输入下的行为不同?

来自分类Dev

命令行中的sha1sum与其他来源不同

来自分类Dev

如何在不同时间用相同的sha1sum重新创建PHAR文件?

来自分类Dev

文件的R sha1sum

来自分类Dev

目录中文件的sha1sum

来自分类Dev

比较tarball与sha1sum

来自分类Dev

目录中文件的sha1sum

来自分类Dev

尝试将SHA-1摘要从Python移植到浏览器JavaScript的结果不同

来自分类Dev

将CNN的输出传递到BILSTM

来自分类Dev

将sed输出传递到mv

来自分类Dev

在Solaris中创建tar时如何将输出重定向到文件?

来自分类Dev

Webpack + React:将提交SHA从Webpack传递到JS

来自分类Dev

尝试将Java RSA-PSS签名验证码(带有SHA256哈希,SHA1 MGF哈希)转换为Python

来自分类Dev

如何使用PowerShell将sha256哈希输出作为二进制数据而不是十六进制输出?

来自分类Dev

在C ++中使用不同的项目文件将参数传递给函数

来自分类Dev

MVC:如何使用不同视图中的Viewbag将模型传递给PartialView?

来自分类Dev

使用Ajax将图片传递到PHP

来自分类Dev

使用Python将密码传递到OpenSSL

来自分类Dev

使用管道将输入传递到passwd

来自分类Dev

使用KVM将脚本传递到VM

Related 相关文章

热门标签

归档