如何解决在ruby上生成哈希
| 在生产服务器上:\"KYK_iphone3.jpg\".hash.abs%1000
=> 908
但是在登台服务器上:
\"KYK_iphone3.jpg\".hash.abs%1000
=> 740
两个哈希值不匹配。您能给我您在这种情况下该怎么做的想法吗?
解决方法
不能保证Ruby的默认哈希在各个实现之间是一致的。如果需要一致的哈希,则应使用标准的哈希算法,例如MD5,SHA1或类似的哈希算法。
编辑:
经过进一步的调查,结果发现不同过程之间甚至不一致:
$ irb
> \"abc\".hash
=> 3669021835949727595
> exit
$ irb
> \"abc\".hash
=> 2091809102525897616
看来这可能是从Perl继承来的预期安全功能,可以防止算法复杂性攻击。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。