bskyvision RSS 태그 관리 글쓰기 방명록
2021-01-06 08:11:50
728x90

회원가입한 유저가 본인의 비밀번호를 까먹었을 경우에 랜덤으로 생성된 비밀번호를 이메일로 보내주는 경우를 종종 보셨을 것입니다. 오늘은 어떻게 랜덤 비밀번호를 생성하는지에 대해 다루도록 하겠습니다. 

 

저는 영어대소문자, 숫자, 특수문자가 혼합된 10자리의 랜덤 비밀번호를 생성해보겠습니다. 알고리즘은 다음과 같습니다.

 

1) 영어대소문자, 숫자, 특수문자를 비밀번호의 한자리를 차지할 수 있는 후보로 준비해줍니다.

2) 준비된 비밀번호 한자리 후보에서 랜덤으로 하나씩 10번 선택한 것을 이어줍니다. 

 

파이썬 코드로 구현하면 다음과 같습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import string
import random
 
new_pw_len = 10 # 새 비밀번호 길이
 
print("영어대소문자", string.ascii_letters)
print("숫자", string.digits)
print("특수문자", string.punctuation)
 
pw_candidate = string.ascii_letters + string.digits + string.punctuation 
 
new_pw = ""
for i in range(new_pw_len):
    new_pw += random.choice(pw_candidate)
 
print("\n생성된 랜덤 비밀번호", new_pw)
cs

 

위 코드를 실행하면 다음과 같이 영어, 숫자, 특수문자로 구성된 랜덤 비밀번호가 생성됩니다. 

 

 

 

댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.