NSString 散列在不同版本的 iOS(不是 OS X)中具有相同的值吗?

Posted

技术标签:

【中文标题】NSString 散列在不同版本的 iOS(不是 OS X)中具有相同的值吗?【英文标题】:NSString hash with same value across releases of iOS (not OS X)? 【发布时间】:2015-02-03 14:54:53 【问题描述】:

NSString hash(甚至是ios documentation)的文档包含以下说明:

您不应依赖此属性具有相同的哈希值 OS X 版本。

我们是否知道是否可以假定该属性在不同版本的 iOS(相对于 OS X)中具有相同的值?

我们知道为什么 OS X 会有所不同吗? (这是否允许 Apple 在某个时候从 MD5 切换到另一个哈希函数?)

【问题讨论】:

【参考方案1】:

我们不能依赖 NSString 哈希。看看:

Why is [NSString hash] device dependent?

http://www.abakia.de/blog/2012/12/05/nsstring-hash-is-bad/

【讨论】:

以上是关于NSString 散列在不同版本的 iOS(不是 OS X)中具有相同的值吗?的主要内容,如果未能解决你的问题,请参考以下文章

NSString类里有个hash

使用散列在 3sum 问题中获取重复项

md5 散列在 swift 中封装返回

检查元素是不是属于集合的算法

iOS返回的不是json格式, 是NSString

ObjC / iOS:NSCFString 不是 NSString?