在使用Swift的内置字符串hashValue生成哈希值的同时,我们发现了两个不同的字符串生成相同哈希值的情况......但是碰撞的原因非常令人困惑.
拿这两个字符串:
var str1 = """
00000000000000
00000000000000
00000000000000
00000000000000
00000000000000
00000000100000
00000000000000
00000000000
""" //Contains a single 1 character
var str2 = """
00000000000000
00000000000000
00000000000000
00000000000000
00000000000000
00000000000000
00000000000000
00000000000
""" //Contains only zeroes
str1 == str2 // false
str1.hashValue == str2.hashValue // true ..WAT?
Run Code Online (Sandbox Code Playgroud)
很想知道这里发生了什么......
谢谢
| 归档时间: |
|
| 查看次数: |
2132 次 |
| 最近记录: |