# pry/irb example #1
"abc".hash
=> -1883761119486508070
"abc".hash
=> -1883761119486508070
# pry/irb example #2
"abc".hash
=> -4309321811150053495
"abc".hash
=> -4309321811150053495
hash
值對於特定的調用是恆定的,但是在調用之間會有所不同。爲什麼?這是設計嗎?這被認爲是一件「好事」?爲什麼Ruby的散列方法在運行期間會有所不同?
我正在運行ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]
。
生成散列時的隨機種子對安全性更好。我不記得我在哪看到這個,但我幾乎肯定這就是爲什麼會發生這種情況。 –
以下是官方漏洞公告的鏈接 http://www.ruby-lang.org/zh/news/2011/12/28/denial-of-service-attack-was-found-for-rubys-hash -algorithm-CVE-2011-4815 / – Yossi