개발 창고/Database

[MySQL] 임의의 비밀번호 채번하기

로이제로 2020. 11. 30. 10:19
반응형

비밀번호 찾기 등에서 임의의 비밀번호를 채번하는 경우 다음과 같이 작성해볼 수 있습니다.

 

        SELECT CONCAT(  CHAR(RAND() * 24 + 97)
                      , CHAR(RAND() * 24 + 97)
                      , CHAR(RAND() * 24 + 97)
                      , CAST(RAND() * 9 as INT)
                      , CAST(RAND() * 9 as INT)
                      , CAST(RAND() * 9 as INT)
                     )      userPwd

 

해당 방법을 사용하면 소문자 3자리 + 숫자 3자리의 임의의 비밀번호가 채번됩니다.

 

만약 다음과 같이 WITH 절을 사용하여 같은 명령을 5번 수행해보면

WITH V_TEMP AS (
	SELECT CONCAT(  CHAR(RAND() * 24 + 97)
	              , CHAR(RAND() * 24 + 97)
	              , CHAR(RAND() * 24 + 97)
	              , CAST(RAND() * 9 as INT)
	              , CAST(RAND() * 9 as INT)
	              , CAST(RAND() * 9 as INT)
	             )      userPwd
)
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP
UNION ALL
SELECT * FROM V_TEMP

 

아래와 같이 동일하지 않은 랜덤 한 임의의 문자열이 채번됨을 확인할 수 있습니다.

반응형