PHP에서 임의의 문자열을 생성하는 방법 [예제 포함]
게시 됨: 2020-11-24PHP는 출시 당시 Personalized Home Page 의 약자였습니다 . 그리고 진화 과정을 통해 업계에 PHP: Hypertext PreProcessor 라는 대체적이고 더 수용 가능한(재귀적) 정의를 제공 했지만, PHP에 대한 진실은 여전히 PHP가 무엇보다도 개인화 정신을 흡수한다는 것입니다.
오늘날 PHP는 Microsoft의 ASP(Active Server Pages)와 같은 다른 모든 주요 서버 구성 언어에 대한 가장 선호되는 무료 오픈 소스 대안입니다. 이 개인화 측면의 대부분은 모듈 , 데몬 또는 실행 파일 로 구현될 수 있는 서버측 PHP PHP 인터페이스는 UID(고유 식별자), 이메일 주소, 사용자 이름, 비밀번호, 기밀 연락처 정보 등과 같은 중요한 사용자 중심 데이터를 관리하는 데 유용합니다.
전부는 아니지만 세계 최고의 동적 콘텐츠 관리 시스템(CMS의 거인 WordPress 포함)은 PHP 기반 플랫폼으로, 사용자 기록과 콘텐츠 기록 모두를 PHP로 액세스할 수 있는 데이터베이스 형태로 쉽게 만들고 유지 관리할 수 있습니다. .
이 기사에서는 관리자가 관리자 측과 사용자 측 모두의 개입을 최소화하면서 새 "사용자"를 생성하는 작업에 필요한 모든 필수 필드를 쉽게 채울 수 있도록 하는 PHP의 한 가지 특정 측면을 탐구할 것입니다. . 이렇게 하려면 관리자가 PHP 임의 문자열을 생성하는 방법을 배워야 하며 이것이 바로 우리가 다룰 것입니다.
읽기: PHP 프로젝트 아이디어 및 주제

목차
PHP 랜덤 문자열이란 무엇입니까?
PHP 임의 문자열은 배열에서 파일 이름, 임의 URL 확장자, 암호 또는 인증 토큰(예: 일반 API 토큰 및 Facebook의 앱 개발 인터페이스에서 볼 수 있는 API 비밀).
빈번한 블로거, 특히 Medium과 같은 플랫폼을 사용하여 작업을 게시하는 사람들은 새로운 스토리나 게시물을 게시할 때마다 이 무작위 문자열 생성 행위를 보게 됩니다. 기본 도메인을 따르는 URL 확장은 일반적으로 다음의 결과입니다. 게시 인터페이스에서 생성되는 임의의 문자열입니다.
예를 들어, URL https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation-c37d87e3386b 에서 URL의 마지막 부분( c37d87e3386b )은 무작위로 생성된 문자열 . PHP 임의 문자열에 대한 다른 쉽고 중요한 참조에는 WordPress의 모든 새 사용자 계정에 대해 생성되는 "기본" 암호가 포함됩니다.
점점 더 많은 소비자 인터넷 플랫폼이 "매직 링크" 로그인을 활성화할 때 암호화의 힘을 활용하기 위해 PHP 임의 문자열을 사용하는 방향으로 전환하고 있습니다. "매직 링크" 로그인을 사용하는 클라우드 기반 서비스를 사용한 적이 있다면 PHP 임의 문자열의 생성 및 매핑과 함께 제공되는 용이성, 효율성 및 향상된 보안 계층에 이미 익숙할 것입니다.
PHP 임의 문자열을 생성하는 방법?
당면한 작업은 PHP를 사용하여 무작위, 영숫자 및 고유 문자열을 생성하는 코드를 작성하는 것입니다. 이를 달성할 수 있는 네 가지 방법이 있습니다.
- 무차별 대입 (무작위 인덱싱) 을 사용하여 – 이것은 PHP 임의 문자열을 얻는 가장 쉽지만 조잡한 방법입니다.
- " 해싱 " 기능을 사용하여(PHP 임의 문자열의 알고리즘 생성 - 이것은 무차별 대입을 사용하는 것과 비교하여 좀 더 지능적인 접근 방식입니다)
- 내장 uniqid() 함수 사용(이는 간단하고 내장 PHP 기능을 활용하여 요소에 대한 고유 식별자 생성)
- random_bytes() 다음에 bin2hex() 를 사용하여 암호로 안전한 임의 바이트를 생성하고 온라인 복권, 온라인 포커 게임 및 코어에 내장된 진정한 무작위로 실시간 숫자 생성이 필요한 기타 플랫폼과 같은 인터페이스에 놀라운 기능을 제공합니다.
더 읽어보기: PHP에서의 취업 기회
무차별 대입을 사용하여 PHP 임의 문자열 생성
PHP에서 무작위 문자열 생성의 무차별 대입 개념은 이해하기 쉽고 구현하기 가장 쉽습니다. 일반적으로 무차별 대입 접근 방식은 네 가지 쉬운 단계로 설명할 수 있습니다.
- 가능한 모든 문자를 묶고 하나의 문자열에 넣습니다(이는 문자열에서 허용되는 모든 문자의 샘플 공간 저장소입니다).
- 0(영)에서 시작하여 문자열 길이 "-1"까지 확장되는 "임의 인덱스"를 생성합니다.
- 현재 인덱스 위치에 문자를 인쇄합니다.
- X가 문자열에 필요한 문자 수(원하는 문자열 길이)이면 전체 명령 루프에서 1, 2, 3단계를 총 X번 반복합니다.
아래 샘플 코드 구현에서 볼 수 있듯이 이것은 PHP에서 임의의 문자열을 생성하는 가장 간단한 방법입니다.

샘플 코드:
<?php
$n=10;
함수 getName($n) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = ";
($i = 0; $i < $n; $i++) {
$index = rand(0, strlen($characters) – 1);
$randomString .= $characters[$index];
}
$randomString을 반환합니다.
}
에코 getName($n);
?>
필독: PHP 인터뷰 질문 및 답변
"해싱" 기능을 사용하여 PHP 임의 문자열 생성
PHP에는 md5 (), sha1 () 및 hash ()와 같은 " 해싱 함수" 로 알려진 몇 가지 내장 함수가 있습니다 . 이러한 함수는 "sha1", "sha256" 및 "md5"와 같은 특정 알고리즘에 의해 정의된 문자열을 "해시"하는 데 사용할 수 있습니다. 이 모든 함수에서 인수는 문자열이고 출력은 영숫자 해시 문자열입니다(아래 샘플 코드 참조).
샘플 코드:
<?php
$str=랜드();
$결과 = md5($str);
에코 $ 결과;
?>
내장된 "uniqid()" 함수를 사용하여 PHP 임의 문자열 생성
PHP는 현재 시간에서 파생된 "고유 ID(UID)"를 생성하는 데 사용할 수 있는 uniqid()와 같은 특수 내장 기능과 함께 탁월한 개인화 도구로서의 가치를 유지합니다. 마이크로초("마이크로 시간"이라고도 함).
기본 구문에서 uniqid() 함수는 항상 문자열 길이가 13자인 고유한 영숫자 문자열을 반환합니다. 아래 샘플 코드를 사용하여 uniqid() 메서드의 구현을 테스트할 수 있습니다.
샘플 코드:
<?php
$결과 = uniqid();
에코 $ 결과;
?>
random_bytes() 및 bin2hex()를 사용하여 PHP 임의 문자열 생성
이것은 지금까지 "의사 무작위" 바이트를 생성한 다음 이를 16진수 형식으로 변환하여 기존 무작위화에 암호화 계층을 추가하는 가장 발전 되고 안전한 방법입니다.
첫 번째 단계는 내장된 random_bytes () 함수를 호출하여 암호학적으로 안전한 임의 바이트를 생성하는 것입니다. 다음 단계는 이 이진 데이터(바이트 수)를 인수로 사용하고 완벽하게 사용 가능한 고유한 영숫자 문자열 인 해당 16진수 값을 출력으로 생성하는 bin2hex () 함수를 호출하는 것입니다. 이것은 아래 샘플 코드에 더 잘 설명되어 있습니다.
샘플 코드:
<?php

$n = 20;
$ 결과 = bin2hex(random_bytes($n));
에코 $ 결과;
?>
다음은?
upGrad 는 PHP로 프로그래밍하고 upGrad의 PG 디플로마에서 소프트웨어 개발 전문화 풀 스택 개발을 통해 더 많은 것을 제공 합니다. 풀 스택 개발자로 부상하고 멋진 애플리케이션을 빌드하는 방법을 배우는 프로그램입니다. 라이브 프로젝트 및 과제 작업과 15가지 프로그래밍 언어 및 도구 교육을 포함하는 광범위한 12개월 프로그램입니다. 이와 함께 모의 면접 및 취업 지원을 통한 상시 경력 지원이 있습니다.