title: Why is Ruby String.hash inconsistent across machines?
body: <p>Came across this today on an app we are deploying across many servers. I was hashing some strings to store in a shared key/value store. The .hash method of String is returning different integers depending on the server. Any ideas why? Note that I am interested in <em>why</em>; not possible work arounds.</p>
  
  <p>Example:</p>
  
  <pre><code>server1 $ ruby -v
  ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
  
  server1 $ irb
  irb(main):001:0&gt; "test".hash
  =&gt; 4146582576695053125
  
  
  server2 $ ruby -v
  ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
  
  server2 $ irb
  "test".hash
  =&gt; 3479379392688537032
  </code></pre>
  
  <p>These machines are EC2 instances with the same specs and build.</p>