![]() |
1
2
密码学上安全的散列在速度上可能不是很有效,但实际上任何编程语言都有实现。
您可以使用这样一个散列的子字符串,例如路径上的MD5,它以前被转换成小写,这样散列就可以有效地不区分大小写(要求您使用一个小写的方法,它知道如何转换文件系统中可能出现的所有UTF-16非标准字符)。 密码学安全的散列有相当均匀的分布的好处,无论你采取的子字符串部分,因为他们被设计成不可预测的,即散列的每个部分理想地依赖于整个散列数据作为它的任何其他部分。 |
![]() |
2
2
|
![]() |
3
2
我是这么想的
我不会利用UTF-16中的空白、小写和标题大小写字符以及路径无效字符造成的空白,因为这些字符的分布方式不能利用这个事实—可以快速使用的东西。减少32(U+0032以下的所有字符在路径名中都是无效的)代价不会太高,但也不会对哈希进行太多改进。 |
![]() |
4
1
您只需在C#中创建一个共享库,并使用FileInfo类获取目录或文件的完整路径。然后在路径中使用.GetHashCode(),如下所示:
|
![]() |
TJCLK · 使用此代码可以找到6字节sha-1冲突需要多长时间? 7 年前 |
![]() |
LukeTerzich · 使Sksprite注册碰撞,但不相互影响 7 年前 |
![]() |
amoametan · 从网格顶点获取网格的三角形 7 年前 |
|
Eric Hahn · 基本画布碰撞不适用于循环 9 年前 |
![]() |
gsi · 如何防止碰撞中的两个对象同时穿过 10 年前 |
![]() |
Corey Ford · 牛顿摇篮:与摆锤的弹性碰撞 11 年前 |