PHP에서 비밀번호 생성
-
rand()
함수를 사용하여 PHP에서 임의 암호 생성을위한 임의 배열 인덱스 선택 -
openssl_random_pseudo_bytes()
및bin2hex()
함수를 사용하여 PHP에서 임의 비밀번호 생성 -
substr()
및str_shuffle()
함수를 사용하여 PHP에서 주어진 영숫자 문자열에서 임의 암호 생성
rand()
함수를 사용하여 PHP에서 임의의 비밀번호를 생성하는 방법을 소개합니다. 이 방법은 소문자 및 대문자 알파벳과 숫자의 조합을 사용하여 암호를 구성합니다. rand()
함수는 암호 조합을 선택하기 위해 배열 인덱스 인 임의의 정수를 반환합니다.
또한openssl_random_pseudo_bytes()
및bin2hex()
함수를 사용하여 PHP에서 임의의 비밀번호를 생성하는 또 다른 방법을 소개합니다.
이 기사는substr()
및str_shuffle()
함수를 사용하여 PHP에서 임의의 비밀번호를 생성하는 또 다른 방법을 보여줍니다. 이 방법은 또한 프로그램에 제공된 영숫자 값을 사용하여 임의 암호를 형성합니다.
rand()
함수를 사용하여 PHP에서 임의 암호 생성을위한 임의 배열 인덱스 선택
rand()
함수를 사용하여 PHP에서 임의의 암호를 생성 할 수 있습니다. rand()
함수는 제공된 매개 변수 범위에서 임의의 정수를 리턴합니다. 이 함수는 두 개의 정수 값을 매개 변수로 사용합니다. 암호를 결합 할 수있는 알파벳과 숫자의 문자열을 정의 할 수 있습니다. 난수는 배열을 인덱싱하여 임의의 알파벳 또는 숫자를 선택합니다. rand()
함수를 반복하여 원하는 길이의 비밀번호를 만들 수 있습니다.
예를 들어,$comb
변수를 만들고 모든 소문자 및 대문자 알파벳과 0에서 10까지의 숫자로 구성된 문자열을abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
으로 저장합니다. array()
함수를 사용하여$pass
배열을 만듭니다. 문자열$comb
의 길이를$combLen
변수에 저장합니다. for
루프를 만들고 루프를 8 번 반복합니다. 루프 내에서0
및$combLen
변수와 함께rand()
함수를 매개 변수로 사용하고 값을$n
변수에 저장합니다. 그런 다음$comb[$n]
을$pass
배열에 할당합니다. 루프 외부에서implode()
함수를 사용하여 배열을 문자열로 변환합니다.
아래 예에서는$comb
변수에 저장된 조합에서 임의의 비밀번호를 생성합니다. rand()
함수는 0부터 문자열$comb
길이까지 임의의 정수를 선택합니다. 임의의 정수는 조합에서 임의의 영숫자 값을 선택하는 인덱스로 사용됩니다. 루프는 8 번 실행되고 8 개의 임의의 영숫자 값을 선택하고 마지막으로 임의의 암호를 형성합니다. rand()
함수에 대한 자세한 내용은 PHP 설명서를 참조하십시오.
예제 코드 :
# php 7.x
<?php
$comb = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
$pass = array();
$combLen = strlen($comb) - 1;
for ($i = 0; $i < 8; $i++) {
$n = rand(0, $combLen);
$pass[] = $comb[$n];
}
print(implode($pass));
?>
출력:
aPsQWlzh
openssl_random_pseudo_bytes()
및bin2hex()
함수를 사용하여 PHP에서 임의 비밀번호 생성
openssl_random_pseudo_bytes()
함수를 사용하여 의사 랜덤 바이트 문자열을 생성 할 수 있습니다. 함수의 매개 변수로 정수 값을 지정하여 생성 할 원하는 바이트 수의 길이를 정의 할 수 있습니다. bin2hex()
함수는 2 진 데이터를 16 진 표현으로 변환합니다. 이 함수를 사용하여 임의로 생성 된 바이트 문자열을 16 진수 표현으로 변환하고 암호를 형성 할 수 있습니다. 이 메서드는 영숫자 값으로 구성된 임의 암호를 생성합니다.
예를 들어,$bytes
변수를 생성하고openssl_random_pseudo_bytes()
함수로 할당합니다. 기능에 대한 매개 변수로4
를 지정하십시오. 다른 변수$pass
를 만들고 여기에bin2hex()
함수를 씁니다. 함수에$bytes
변수를 지정하십시오. echo
문을 사용하여$pass
변수를 인쇄합니다.
아래 예에서openssl_random_pseudo_bytes()
함수의4
는 무작위로 생성 될 바이트 수를 나타냅니다. bin2hex()
함수는 바이트를 해당하는 16 진수로 변환합니다. 4 바이트 문자열의 16 진수 변환은 8이되기 때문에 무작위로 생성 된 암호의 길이는 8입니다.bin2hex()
함수에 대한 자세한 내용은 PHP 설명서를 확인하십시오.
예제 코드 :
#php 7.x
<?php
$bytes = openssl_random_pseudo_bytes(4);
$pass = bin2hex($bytes);
echo $pass;
?>
출력:
ed203eef
substr()
및str_shuffle()
함수를 사용하여 PHP에서 주어진 영숫자 문자열에서 임의 암호 생성
str_shuffle()
메소드를 사용하여 주어진 문자열을 무작위로 섞을 수 있습니다. 이 함수는 0에서 9까지의 숫자와 함께 소문자 및 대문자 알파벳 조합의 문자열을 섞습니다. 따라서 가능한 모든 경우에 대해 하나의 순열을 형성합니다. 셔플 된 문자열에substr()
함수를 사용하여 문자의 일부를 선택할 수 있습니다. 따라서 임의의 암호를 생성 할 수 있습니다.
예를 들어,$comb
변수를 만들고 여기에 문자열 값abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
를 저장합니다. str_shuffle()
을 사용하여$comb
변수를 섞고$shfl
변수에 저장합니다. 그런 다음substr()
함수와$shfl
변수,0
및8
을 매개 변수로 사용합니다. $pwd
변수에 함수를 저장하고 변수를 인쇄합니다.
아래 예에서는 첫 번째 방법과 동일한 영숫자 값 세트를 사용합니다. 임의로 생성 된 암호는 이러한 영숫자 값으로 구성됩니다. str_shuffle()
함수는 영숫자 값을 섞고 무작위 순열을 만듭니다. substr()
함수에서0
및8
을 사용하여 셔플 된 순열의 첫 번째 인덱스에서 8 개의 문자를 선택했습니다. 따라서 8 자리 임의 암호를 생성합니다.
코드 예 :
#php 7.x
<?php
$comb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$shfl = str_shuffle($comb);
$pwd = substr($shfl,0,8);
echo $pwd;
?>
출력:
jenZq3lY
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn