Рубиновая строка в сырой двоичный файл - PullRequest
0 голосов
/ 04 октября 2010

в PHP есть функция hash (), которая может возвращать необработанные двоичные данные.

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

Я хочу сделать то же самое в Ruby. Как я могу это сделать?

Я генерирую хеш с помощью:

h = Digest::SHA2.new(512) << "hashme"

PHP генерирует 32 байта «необработанного двоичного вывода».

1 Ответ

2 голосов
/ 04 октября 2010

Если вам нужно, чтобы длина вывода была 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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...