我想备份我的主目录,我读过一个很好的方法是使用该tar
工具,我认为它很适合我,因为我需要做的就是.tar
在主目录中创建每个文件夹(Desktop.tar
,Documents.tar
等),然后将其传输到外部硬盘驱动器 (EHD)。
不过,我担心的问题之一是确保复制到 EHD 的文件在此过程中不会损坏。因此,我正在考虑遵循此过程来验证数据的完整性(我将使用该Desktop
目录作为示例,但对于其他所有文件夹来说都是完全相同的):
- 使用
tar
和创建Desktop.tar
里面我的电脑。 - 计算
md5
并sha-2
散列Desktop.tar
. - 转向
Desktop.tar
EHD,我们可以说,它被称为backup
. - 计算
md5
并sha-2
散列backup/Desktop.tar
并验证它们与第二步中计算的相同。
所以我的问题是:
- 这是验证备份数据在传输过程中没有损坏的好方法吗?
- 我知道用于计算哈希的工具
md5
是md5sum
,但我不太确定使用什么工具来计算sha-2
哈希函数。那么我应该使用sha224sum
,sha256sum
,sha384sum
还是sha512sum
?
答案1
我认为同时使用 md5 和短 sha-2 并不比单独使用 sha512sum 更确定。
您的方法原则上是可以的,但是您可以通过将输出重定向sha512sum *.tar
到文件sums
并将其复制到目标计算机来使检查变得更加容易。
然后做:
sha512sum -c sums
在目标计算机上,它为提到的每个文件生成 sha512sumsums
并根据文件中的哈希值进行检查
答案2
计算和验证加密校验和是检测文件内容更改(例如由于硬盘错误)的好方法。
与许多加密哈希函数一样SHA-2是一系列在摘要大小和初始值方面有所不同的变体。
由于由于(随机)位错误而导致哈希冲突的可能性非常低 - 即使使用 MD5,您实际上也不必“升级”到 SHA-2。
您更喜欢 SHA-2 而不是 MD5,以防止攻击者故意尝试设计产生冲突的文件。对于 SHA-2,更大的摘要大小(即 512 位)将为您提供更多的空间来抵御未来的攻击(以计算速度为代价)。