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을 통해 난수 생성
예:
[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 중국어 웹사이트의 기타 관련 기사를 참조하세요!