>  기사  >  백엔드 개발  >  PHP를 사용하여 임의의 문자열을 생성하는 방법

PHP를 사용하여 임의의 문자열을 생성하는 방법

藏色散人
藏色散人원래의
2019-01-29 15:26:5813644검색

PHP를 사용하여 임의의 고유한 영숫자 문자열을 생성합니다.

PHP를 사용하여 임의의 문자열을 생성하는 방법

예:

EA070
aBX32gTf

방법 1:

첫 번째 방법이 가장 이해하기 쉽습니다. 다음과 같이 구현할 수 있습니다:

- 가능한 모든 문자를 문자열에 저장합니다.

- 0부터 문자열 길이 - 1까지 임의의 인덱스를 생성합니다.

- 해당 색인에 있는 문자를 인쇄하세요.

- 이 단계를 n번 수행하세요(여기서 n은 원하는 문자열의 길이입니다).

프로그램 코드는 다음과 같습니다.

<?php 
$n=10; 
function getName($n) { 
    $characters = &#39;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&#39;; 
    $randomString = &#39;&#39;; 
  
    for ($i = 0; $i < $n; $i++) { 
        $index = rand(0, strlen($characters) - 1); 
        $randomString .= $characters[$index]; 
    } 
  
    return $randomString; 
} 
  
echo getName($n); 
?>

출력 1:

3HDrSOvRIs

출력 2:

lipHh

방법 2: 해시 함수 사용

PHP에는 md5(), sha1() 및 hash( ), "sha1", "sha256", "md5" 등과 같은 특정 알고리즘에 따라 문자열을 해시하는 데 사용할 수 있습니다. 이러한 모든 함수는 문자열을 인수로 사용하고 영숫자 해시 문자열을 출력합니다.

rand() 함수를 사용하여 난수를 생성합니다.

위 기능 중 하나를 사용하여 해시하세요.

프로그램 1:

<?php 
$str=rand(); 
$result = md5($str); 
echo $result; 
?>

출력 1:

2e437510c181dd2ae100fc1661a445d4

출력 2:

256394010059991a71ea05e5d859d2be

프로그램 2:

<?php 
$str=rand(); 
$result = sha1($str); 
echo $result; 
?>

출력 1:

6eadd9b2c4389d9b109b3b869f66aab5d8f9420a

출력 2:

ca2d3c0993ab87e842d0a7a01f319aca6c587a87

program 3:

<?php 
$str = rand(); 
$result = hash("sha256", $str); 
echo $result; 
?>

출력 1:

2a41cbc8cc11f8c8d0eb54210fe524748b4def1c5b04fcf18c2d5972e24d11c2

출력 2:

291144c1cbba4de0bf199d37ee265ac95cc2e44e80fd2642b22a6e8ef2f42a39

Note: 위 함수는 모두 해시 함수이므로 결과 문자열의 길이는 항상 사용된 알고리즘에 따라 달라집니다. 알고리즘은 항상 동일하게 유지됩니다. 따라서 고정 길이 문자열을 생성하려는 경우 필요에 따라 생성된 문자열을 자르거나 다른 문자열과 연결할 수 있습니다.

방법 3:

uniqid() 함수를 사용하세요. PHP의 uniqid() 함수는 현재 시간(마이크로초)을 기준으로 고유 ID를 생성하는 데 사용되는 내장 함수입니다. 기본적으로 13자 길이의 고유한 문자열을 반환합니다.

프로그램:

<?php  
$result = uniqid();   
echo $result; 
?>

출력 1:

5bdd0b74e9a6c

출력 2:

5bdd0bbc200c4

참고: 위의 모든 메소드는 rand() 및 uniqid() 함수를 기반으로 합니다. 이러한 함수는 암호화된 보안 무작위 생성기가 아닙니다. 따라서 무작위성의 정도가 애플리케이션의 보안에 영향을 미치는 경우 이러한 방법을 사용하지 않는 것이 좋습니다.

방법 4:

random_bytes() 함수를 사용하세요. (암호학적으로 안전함) random_bytes() 함수는 암호화적으로 안전한 의사 난수 바이트를 생성합니다. 이 바이트는 나중에 bin2hex() 함수를 사용하여 16진수 형식으로 변환될 수 있습니다.

프로그램:

<?php  
$n = 20; 
$result = bin2hex(random_bytes($n)); 
echo $result; 
?>

출력 1:

235aed08a01468f90fa726bd56319fb893967da8

출력 2:

508b84494cdf31bec01566d12a924c75d4baed39

이 문서는 PHP에서 임의의 문자열을 생성하는 방법에 관한 것입니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다!

위 내용은 PHP를 사용하여 임의의 문자열을 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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