首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby中生成GUID

在Ruby中生成GUID
EN

Stack Overflow用户
提问于 2009-07-13 03:20:56
回答 5查看 99.3K关注 0票数 157

我有一个用GUID就能很容易解决的问题。

特别是,对于密码重置工作流,我希望向用户的电子邮件发送一个GUID令牌,并让他们使用该令牌重置其密码。因为GUID是唯一的,所以这是非常安全的,并且省去了我给人发电子邮件密码的麻烦。

我注意到有一个uuid gem @ rubyforge,但它看起来很旧,它将内容写入文件系统。

有没有人知道其他可以创建全局唯一标识符的gem?

我知道我可以退回到:

代码语言:javascript
复制
(0..16).to_a.map{ |a| rand(16).to_s(16) }.join 

但它看起来并不是一个合适的GUID ...

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-06 04:45:44

从Ruby 1.9开始,uuid生成是内置的。使用SecureRandom.uuid函数。

例如:

代码语言:javascript
复制
require 'securerandom'
SecureRandom.uuid # => "96b0a57c-d9ae-453f-b56f-3b154eb10cda"
票数 340
EN

Stack Overflow用户

发布于 2009-07-14 15:08:31

How to create small, unique tokens in Ruby

代码语言:javascript
复制
>> require 'digest'
=> []
>> Digest::SHA1.hexdigest("some-random-string")[8..16]
=> "2ebe5597f"

>> SecureRandom.base64(8).gsub("/","_").gsub(/=+$/,"")
=> "AEWQyovNFo0" 

>> rand(36**8).to_s(36)
=> "uur0cj2h"
票数 38
EN

Stack Overflow用户

发布于 2013-09-04 16:55:43

创建正确的mysql varchar 32 GUID

代码语言:javascript
复制
SecureRandom.uuid.gsub('-','').upcase
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1117584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档