在Rails中为每个电子邮件地址创建唯一访问代码

时间:2015-09-17 17:30:21

标签: ruby-on-rails ruby

我正在寻找为分类广告类型的网站创建一个系统,该系统允许用户创建广告发布而无需经过任何类型的帐户注册过程。我希望有一个与用户用来发帖的每个电子邮件地址相关联的唯一访问代码。用户稍后将使用此访问代码访问他们过去发布的帖子集。

因此,这些访问代码不仅应该是唯一的,还应该是安全/不可访问的。有关使用Ruby on Rails实现此目的的任何建议吗?我在研究这个主题时找不到多少 - 大多数相关的讨论似乎都是围绕加密密码,散列等,所以任何一般方向都是值得赞赏的。

谢谢!

2 个答案:

答案 0 :(得分:1)

  

SecureRandom.hex (n = nil)点击切换source :: hex会生成一个随机的十六进制字符串。

     

参数n指定随机长度的长度。长度   结果字符串的两倍是n。

     

如果未指定n,则假定为16。它将来可能会更大。

     

结果可能包含0-9和a-f。

p SecureRandom.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
p SecureRandom.hex #=> "91dc3bfb4de5b11d029d376634589b61"

答案 1 :(得分:0)

您可以generate a hash with a salt为每个电子邮件地址创建标识符。你应该确保两个人不能得到相同的哈希。

值得一提的是,这个随机且唯一的访问代码的长度将比用户名和密码更长,更难以记住。