在Ruby/Rails中生成唯一的哈希值

bor*_*r1s 9 ruby ruby-on-rails


我正在寻找有关在Ruby/Rails中生成唯一哈希字符串的最佳实践的建议.通常我使用MD5,SHA等来执行此操作,但是为哈希选择源值并不是那么简单(时间戳并不总是优先使用).
所以我的问题是:

  1. 什么值更喜欢用于生成独特的哈希值?(数据库列值,时间戳等)
  2. 这种工作有没有宝石?

任何建议将不胜感激.

Gar*_*eth 19

使用UUID:

在红宝石1.9

require 'securerandom'
SecureRandom.uuid
Run Code Online (Sandbox Code Playgroud)

在红宝石1.8

$ gem install uuidtools

UUIDTools::UUID.random_create
Run Code Online (Sandbox Code Playgroud)

  • 如果你想要一个十六进制值:`SecureRandom.hex`给你`eb693ec8252cd630102fd0d0fb7c3485` (2认同)