Ruby字符串到原始二进制

时间:2010-10-04 15:17:10

标签: php ruby hash binary

在PHP中有hash()函数可以返回原始二进制数据。

http://de2.php.net/manual/en/function.hash.php

我想在Ruby中做同样的事情。我怎么做?

我用:

生成哈希
h = Digest::SHA2.new(512) << "hashme"

PHP生成32字节的“原始二进制输出”。

1 个答案:

答案 0 :(得分:2)

如果你需要输出长度为32,你只需要调用Digest :: SHA2.new,其位长为256(这是默认值):

irb> require 'digest/sha2'
=> true
irb> h = Digest::SHA2.new(256) << "hashme"
=> #<Digest::SHA2:256 02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86>
irb> puts h.length
32
=> nil
irb> puts h
02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86
=> nil

或者只是:

irb> h = Digest::SHA2.new << "hashme"
=> #<Digest::SHA2:256 02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86>
irb> puts h.length
32
=> nil
irb> puts h
02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86
=> nil

希望这有帮助!