4

Ruby on Railsアプリケーションでパスワードのソルトを生成しようとしたときに、SecureRandom#hexメソッドに出くわしました。長さパラメータを2倍にする/返される文字列の長さが偶数であると主張するのはなぜですか?

4

1 に答える 1

8

このメソッドは、 nバイトのランダムシーケンスを生成し(random_bytesメソッドを参照)、そのシーケンスの基数16の表現(1バイトあたり2桁の16進数)を返します。

base64これが、 andメソッドがおよそ4 n / 3urlsafe_base64の長さの文字列を返す理由でもあります。nバイトを生成してから、Base-64エンコーディングを実行します。

于 2013-02-24T04:28:49.687 に答える