PHP では、組み込みのcrypt()関数を使用していくつかのパスワード ハッシュを生成し、blowfish ハッシュを生成しています。
<?php $hash = crypt("secure password", '$2a$10$ ... salt here ... $');
ruby にはString#cryptがあることがわかりますが、得られる出力はまったく異なります (はるかに短いハッシュ)。の man ページを見ると、crypt (3)
一部の Linux ディストリビューションのみが glibc にフグのサポートを追加しているため、Ruby はサポートしていないと思います。
今、私はグーグルでcrypt
宝石を見つけましたが、使用している2 ^ 10の代わりに2 ^ 16サイクルを実行するようにハードコーディングされているようです. また、Ruby 1.9.3 で例外が発生します。
Crypt::Blowfish.new("abc").encrypt_block("foo")
TypeError: can't convert String into Integer
from /Users/chris/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/crypt-1.1.4/crypt/blowfish.rb:47:in `|'
PHP で生成したのと同じフグ ハッシュを Ruby で生成する方法を知っている人はいますか?