Dha*_*ddy 0 ruby ruby-on-rails node.js
我有一个用例来发送负载的哈希码以及请求中的负载。
我的客户端是 Ruby,但服务器是 Rails 和 Node。
为有效负载(任何 Ruby HashMap)创建哈希码的最佳方法是什么?
如何在另一台服务器上创建相同的哈希码?
>> x = {:name=>"John", :age=>30, :cars=>{:car1=>"Ford", :car2=>"BMW", :car3=>"Fiat"}}
>> x.hash
-4250725627701565010
Run Code Online (Sandbox Code Playgroud)
这不可能。
Ruby 对哈希码做出的唯一保证是:
eql?具有相同哈希码的两个对象。Integer. 在某些方法中,它可能会被截断为固定宽度的整数。特别是,不保证以下内容:
事实上,出于安全目的,一些 Ruby 实现会随机化哈希码。
换句话说,在 Ruby 中甚至没有办法知道对象在运行时的哈希码是什么,所以在 ECMAScript 中绝对没有办法知道这一点。