4
散在生產服務器:產生對紅寶石
"KYK_iphone3.jpg".hash.abs%1000
=> 908
可升級服務器上:
"KYK_iphone3.jpg".hash.abs%1000
=> 740
兩個散列不匹配。你可以給我你在這種情況下做什麼的想法嗎?
散在生產服務器:產生對紅寶石
"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
看來這可能是一個intended security feature inherited from Perl防止algorithmic complexity attacks。
感謝您的回答。 – khanh 2011-05-26 07:13:45