0

RoR で BCrypt を使用していますが、慣れ親しんだ 16 進数表現ではなく数値を取得しています。刑法はこちら。

username = params[:username]
password = params[:password]

encrypted_password = BCrypt::Password.create(password)
encrypted_password = encrypted_password.hash

encrypted_pa​​ssword 変数は、4245597694343378249 のような数値として出力されます。私は Java に BCrypt を使用しましたが、$2asfa$asdfasfsafsad のようなものを期待していました。私が間違っていることを誰かが知っているかどうか疑問に思っていました。

どんな助けでも大歓迎です。

4

1 に答える 1

3

一連の数字として出力されるパスワード変数は、暗号化されたパスワードに適用している .hash が原因です。したがって、長さと内容に基づいてハッシュを提供する String#hash メソッドを呼び出しています。

期待している bcrypt の出力を見たい場合は、次のようにします。

username = params[:username]
password = params[:password]

encrypted_password = BCrypt::Password.create(password)
puts encrypted_password

乾杯、ショーン

于 2012-04-23T17:52:56.690 に答える