2012-06-23 8 views
7

MCRYPT_DEV_URANDOMは動作します:これは60秒以上後の時間外にスクリプトを引き起こしMCRYPT_DEV_RANDOMフリーズが、私は機能とIVを作成しようとしています

mcrypt_create_iv(32, MCRYPT_DEV_RANDOM) 

。 (おそらくもっと?)しかし、私がURANDOMを使うと、ほぼ即座にうまく動作します。私が読んだところでは、MCRYPT_DEV_RANDOMで約4秒かかるはずですが、間違いなく時間がかかります。エラーログには何もありません。

ubuntu 12.04サーバにapache2とphp5をインストールしました。

問題はなく、私のcentosサーバーで全く同じコードを実行しました。

答えて

15

ランダムとアンブロック - ランダム(URANDOM)の両方がランダムなデータを提供しますが、過剰な使用により "エントロピーウェル"が乾燥し、補充されたときに再起動するとRANDOMはブロックします。

プロ:URANDOMはブロックされません。 Con:URANDOMは、エントロピーなしで残しておけば、それほどランダムでないデータをフィードします。

暗号化の目的では、あなたが本当にうつ病でない限り、私はURANDOMで十分であると思います。

このUbuntuのページを参照してください: http://manpages.ubuntu.com/manpages/jaunty/man4/random.4.html

私は(誤って)RANDOMソースはユーザ制御と思っていたが、そうでない表示されます。どうやら、そのコンピュータでは何も起こっていないので、カーネルのエントロピージェネレータは何も見つけられません。

プラス側では、URANDOMジェネレーターは非常に優れていると言われており、事実上すべてにおすすめです。

(これまでの私の提案は、少なくともPHPの再コンパイルが必要なので、あなたのためにはうまくいきませんでした。

+6

+1 "一般的に、長寿命のGPG/SSL/SSHキー以外は/ dev/urandomをすべて使用してください。 –

1

実際、/ dev/randomと/ dev/urandomは同じランダム性とセキュリティを提供します。/dev/randomブロックの神話と、なぜそれを使うべきかについての長い話があります。 "ランダム/ランダムの神話"を探してください。

関連する問題