2011-06-30 1 views
1

私の質問は、魚介類に関して、mryptから得られるのと同じ結果をどうやって得るのですか?Mimic CRYPT_BLOWFISH with MCRYPT_BLOWFISH

パスワードのハッシュと確認にthe phpass frameworkを使用したいと考えています。フライフィッシュはcrypt()に含まれているので、あなたはPHP 5.3を持っています。 私のホストは、PHP 5.2.xをmcryptライブラリで実行しています。

ドキュメントを通って行くと陰窩とフグについてグーグルは、その結果は、2つの文字の反復値、'$'、塩(パディング又は22文字にカット)、ハッシュを表す32 base64文字列'$a2$'あると思われます。

私の問題は私には意味をなさないMCRYPT_MODE_modenamesの説明が見つかりません。そして、私が欲しい反復の数をmcrypt()にどのように払うのですか?あるいは、2つの機能が異なる形のブローフィッシュを使用していますが、クロストランスレーションはありませんか?

+0

5.3より前のバージョンでは、以前のバージョンではOSコールが使用されていましたが、5.3では独自のアルゴリズムの実装が行われていました。 OSがCRYPT_BLOWFISHをサポートしていないことを確認しましたか? – symcbean

+0

私はそれをチェックしました。 PHPの私のバージョンはCRYPT_BLOWFISHをサポートしていませんが、MCRYPT_BLOWFISHはサポートしています。私は私の質問の根本は、CRYPT_BLOWFISHのために書かれたコードをMCRYPT_BLOWFISHを使用して使用する必要があると考えています。しかし、私が見つけたドキュメントでは、実装が非常に異なっているように見えます。 –

答えて

4

Mcryptとcrypt()は全く異なる2つの関数です。 Mcryptは双方向の暗号化ですが、cryptは一方向の暗号化です。私の知る限り、crypt()はPHP 5.2の中にあります。また、もし私があなただったら、私は単にcrypt()自体を参照したいと思います。また、私はそれからbcryptを使用したいと思います。

$hashed_password=crypt($password_to_be_hashed,'$2a$04$saltstringhere'); 

最後に、ちょうど$ 2aは$の後に2桁の内側に2桁のコスト要因を変更します。これにより、必要となる予定の量を変更することができます。対数的に(私が正しく覚えていれば)上がることを忘れないでください。デフォルト値は07です。

最後に、crypt_blowfishは、448ビットまでの鍵をとるブローフィッシュの双方向暗号化アルゴリズムです。暗号の内側にあるブローフィッシュはbcryptであり、ブローフィッシュに基づいていますが、パスワードを保存するために設計されています。これは一方向暗号化として知られています。

関連する問題