有两台计算机具有相同数量的文件。我们如何确定One计算机中的任何一个文件是否有轻微变化。这些计算机之间的网络通信速度非常慢
答案 0 :(得分:2)
您可以使用md5sum实用程序。对于Windows,请检查[this](https://support.microsoft.com/en-us/help/889768/how-to-compute-the-md5-or-sha-1-cryptographic-hash-values-for-a-file)和linux使用1 2 3 4 5 6 7 8 9 10
x xx xx xx xxx xxx xxx xxx xxx xxxx
x xx xx xxx xxx xxx xxx xxxx
x xx xxx xx
1
out:
x
input:
2
out:
xx
input:
3
xx
x
input:
4
out:
xx
xx
input:
5
out:
xxx
xx
,然后比较哈希值。
答案 1 :(得分:0)
您可以散列文件并通过网络比较哈希值。
设计了一个好的哈希函数,如果函数的输入只有一点差别,那么输出将完全不同。此外,现在大多数散列函数的输出长度为160-512位。意思是虽然你可能想要比较几个千兆字节大的文件,你只需要通过网络发送一个512位的小字符串来查看哈希值是否匹配。
如果您有数百万个文件,那么这可能已经很多了。解决方案看起来像这样:
假设您只有一个不同的文件,那么只需要对数许多哈希值通过网络发送,从而最大限度地减少网络流量。
答案 2 :(得分:0)
一个想法是为每个文件生成一个哈希值。哈希将任意长度的文件转换为固定大小。你可以进一步散列哈希值,然后上传并比较。哈希是广泛用于确保下载不会损坏的东西。