ホームページ  >  記事  >  運用・保守  >  Linuxシステムで乱数を生成する方法

Linuxシステムで乱数を生成する方法

王林
王林オリジナル
2020-06-29 10:32:235803ブラウズ

Linux システムが乱数を生成する方法は次のとおりです。これは、[echo $RANDOM] などのシステム環境変数 [$RANDOM] を通じて実現できます。 RANDOM には限られた範囲の乱数があり、乱数の後に暗号化された文字列を追加することで解決できます。

Linuxシステムで乱数を生成する方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。