将名称哈希到字符串

时间:2015-10-06 07:39:51

标签: ruby hash

我的地址如

  1. 12th Park Street - Residential
  2. 第11工业区 - 未分类
  3. 我想将它们转换为像"9naida990"这样的hexadeciaml哈希值,其长度为k(此处为9),以便对每个哈希值进行唯一标识。

    有没有办法做到这一点,或者是否有任何已经实现的ruby gem?

1 个答案:

答案 0 :(得分:6)

你在找Digest之类的东西吗?

>> require 'Digest'
=> true
>> x = "12th Park Street - Residential"
=> "12th Park Street - Residential"
>> Digest::MD5.hexdigest(x)[0..9]
=> "c68636e164"
>> Digest::SHA1.hexdigest(x)[0..9]
=> "e3d93a448b"

在9个字符处应该是相对独特的,但也可以使用完整的摘要。使它更加独特。

>> Digest::SHA1.hexdigest(x)
=> "e3d93a448baa56cc7bdbf896fa32c827350592cc"
>> Digest::MD5.hexdigest(x)
=> "c68636e164b08d037b77d0d5768095d0"