Linux システムが乱数を生成する方法は次のとおりです。これは、[echo $RANDOM] などのシステム環境変数 [$RANDOM] を通じて実現できます。 RANDOM には限られた範囲の乱数があり、乱数の後に暗号化された文字列を追加することで解決できます。
Linux システムで乱数を生成する方法はたくさんあります。ここではいくつかを紹介します:
(推奨学習: linuxチュートリアル)
方法 1: システム環境変数 ($RANDOM)
[root@test ~]# echo $RANDOM 11595 [root@test ~]# echo $RANDOM 21625
RANDOM の乱数の範囲は 0 ~ 32767 であるため、暗号化は次のようになります。あまりよくない 。これは、乱数の後に暗号化された文字列 (つまり、パスワード生成に関連する文字列) を追加し、最後に md5sum 演算を一緒に実行して、結果の最後の n 桁をインターセプトすることで解決できます。ランダムな範囲 0 ~ 32767 で特定の結果を推測します。
例:
[root@test ~]# echo "$RANDOM"|md5sum|cut -c 5-15 4eaf70019cc
方法 2: openssl を使用して乱数を生成するl
例:
[root@test ~]# openssl rand -base64 8 yB0maNWRoQw=
大文字と小文字を組み合わせたり、特殊文字を追加したりすることで、長い桁数を実現でき、このような乱数は非常に安全です。
方法 3: 時間 (日付) から乱数を取得する
例:
[root@test ~]# date +%s%N 1523402619479946400 [root@test ~]# date +%s%N 1523402622015235600
方法 4: /dev/ を介して連携するurandom chksum は乱数を生成します
[root@test ~]# head /dev/urandom|cksum 2866845253 2890 [root@test ~]# head /dev/urandom|cksum 2131526544 2440
/dev/random デバイスはシステムの現在の動作環境のリアルタイム データを保存します。
これは、特定の時点でのシステムの一意の値として見ることができるため、ランダムなメタデータとして使用できます。ファイルを読み取ることで、内部のデータを読み取ることができます。デバイス/dev/urandomのデータはrandomと同じです。ただし、これはノンブロッキング乱数ジェネレータであり、読み取り操作によってブロッキングが発生することはありません。
以上がLinuxシステムで乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。