![]() |
1
5
|
![]() |
2
6
除非逐字节比较,否则无法确定两个文件是否相同。这类似于,除非检查集合中的每个项,否则无法保证集合包含或不包含给定对象。 校验和基本上是散列值。它们是否足以满足您的目的取决于您的应用程序对任务的重要性。当然可以创建一个具有低冲突风险的散列函数;毕竟,密码是散列的,即使在保护敏感数据并且您不希望在您的帐户上有第二个有效密码的情况下也是如此。除非是为银行编写代码,否则强校验和算法应该提供一个非常好的近似值。 如果并且仅当不同的校验和算法使用不同的哈希函数时,使用多个校验和将提高可靠性。 你的第三个问题已经得到了莱昂布罗伊的回答;MD5和SHA-1很常见。 |
![]() |
3
0
任何标准的校验和算法(如MD5)都将为您提供一个可靠的测试,适用于大多数现实场景。如果你需要更多的可靠性,去sha。 http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms |
![]() |
4
0
对于极少数情况,任何校验和都会给您一个假阳性。如果你能忍受,那就好。如果不是这样,那么做的方法是先进行校验和比较,如果校验和等于,则逐字节测试。逐字节测试将很少进行,因此在许多比较中的平均成本将非常小。然而,当您的大多数比较预期返回“true”时,情况并非如此。 它还取决于您测试的不同文件的数量。计算高可靠性校验和几乎和比较一样昂贵-如果每个文件大约比较一次,那么做比较可能更便宜。 |
![]() |
ridiculous_fish · std::是否保证短路? 2 年前 |
![]() |
Hilde Schneider · php对我的if条件有问题 7 年前 |
![]() |
user8188120 · 熊猫用np标记时间戳。其中比较 7 年前 |
|
Jarek · 与循环python数据帧中的下一个/上一个值进行比较 7 年前 |
|
vato · Bash脚本:测试浮点数是否在包括负数在内的特定范围内 7 年前 |