算法 有没有一种哈希算法,使得几个不同值经过哈希算法得到同一个结果?

tumayun · 2013年08月27日 · 最后由 tumayun 回复于 2013年08月28日 · 3275 次阅读

有没有一种哈希算法,使得几个不同值经过哈希算法得到同一个结果?

比如:

  • 手机号
  • 用户名
  • 邮箱地址

经过哈希算法后得到同一个哈希值。或者说这样是否可行?

哈希算法通常是尽量避免值冲突的,你这个需求应用在什么情景?

没有,倒是可以维护一个 Hash 表,让他们的值一样。

@vincent 额,只是突然有这个想法。 比如在登录的时候,可以是 手机号/用户名/邮箱 如果有这种哈希算法,会很省事

@hbin 手动维护这太费劲了

哈希算法通常是尽量避免值冲突的,你这个需求应用在什么情景? #3 楼 @tumayun 这种情况,通过维护一个 手机号/用户名/邮箱 到 用户 ID 的映射表(Hash)比较合适。

#4 楼 @tumayun 那可不,而且还要加上足够 Validation,至少昵称不能取成手机号码吧。

奥 这个不是我想要的。。。

#7 楼 @tumayun 還是一一對應的維護好吧

有,不管输入是什么,都映射到 1 个值就可以了 -- 不过就区分不了用户了

你可以先写个方法,使不同的值得到同一个 key

每加一个用户重新生成一个算法就可以了嘛,就是这代价搞不好去查数据库大多了

@luikore 怎么映射?维护 Hash 表? @piecehealth 求的就是这个算法 @bhuztez 其实不一定是要用在登录上面,只是一个简单的例子,主要是问有没有类似的算法

取模…

@reus 能具体点吗?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号