gpt4 book ai didi

ruby-on-rails - ActiveSupport::SecureRandom.hex 问题? Rails 和 ruby

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:03 25 4
gpt4 key购买 nike

我对 ActiveSupport::SecureRandom 类\库有疑问。

http://apidock.com/rails/ActiveSupport/SecureRandom

我正在编写一个可能需要一些随机标记的应用程序,例如由 SecureRandom 生成的标记。

这些代币的唯一性如何?这些 token 在本质上是唯一的还是我应该在我的数据库列上使用唯一约束更好?

谢谢!

最佳答案

请注意您链接的页面,该页面表示此模块在接口(interface)(和实现,至少在一个特定版本的情况下)与 http://rubydoc.info/stdlib/securerandom/1.9.2/SecureRandom 处的模块匹配。您可以在哪里找到更多详细信息。

此类调用的结果没有内在的唯一性。当然,鉴于系统播种良好并且如所声称的那样是伪随机的,碰撞的可能性应该像组合学所建议的那样小。这就是“生日悖论”,特别是碰撞的几率对应于“生日攻击”成功的几率(http://en.wikipedia.org/wiki/Birthday_attack),您可以在维基百科上找到更多详细信息。并不是说实际的伪随机性提供了严格的保证,但人们相信它会接近。

如果您特别需要唯一性,则需要自己强制执行。这不是那么容易做到的,你需要小心你正在达到你期望的条件。您还需要确保涵盖所有可能性,并且如果您这样做(在相对罕见的情况下)生成重复 token ,您可以处理它。

关于ruby-on-rails - ActiveSupport::SecureRandom.hex 问题? Rails 和 ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com