我想要做的是在我显示用户网址时制作一个模糊ID,我想要一个长度为正好16个字符的模糊ID,以及没有冲突,例如代替
http://localhost:3000/users/2
我想要这样的事情:
http://localhost:3000/users/3a5643f943cc3a44
我已经在其他帖子here和here以及其他帖子中找到了同样的问题......但无法找到我想要的答案。
=========== 的更新 的 ===========
自从我发布这个问题以来已经有好几年了,我只想提一下,我在最近的所有项目中使用了一个名为hashids的超级有用的宝石,它直截了当且易于使用使用:)
答案 0 :(得分:1)
我建议使用SecureRandom.urlsafe_base64。以下相关问题也可以提供帮助:Best way to create unique token in Rails?
16个字符是默认长度(但长度是可变的,如文档中所示:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/SecureRandom.html#method-c-urlsafe_base64)