>  기사  >  운영 및 유지보수  >  Linux 시스템에서 난수를 생성하는 방법

Linux 시스템에서 난수를 생성하는 방법

王林
王林원래의
2020-06-29 10:32:235740검색

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을 통해 난수 생성

예:

[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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.