
이번 포스팅에서도 파이썬 을 좀 더 잘 익히기 위해 간단한 프로젝트를 진행해보겠습니다.
비밀번호 생서기 인데요, 같이 만들어보면서 random 모듈을 다루는 방법과 string 모듈 을 활용하는 법을 배워보도록 하겠습니다.
그 외에 다른 프로젝트와 파이썬의 연사자 와 함수 에 대해 궁금하시면 아래 포스팅을 같이 참고해주세요
✅ 파이썬 프로젝트 정리
[ python ] 파이썬으로 카운트다운 타이머 만들기 (time 모듈 과 while문 )
[ python ] 파이썬으로 가위바위보 게임 만들기 (random 모듈 과 조건문 )
[ python ] 파이썬으로 계산기 만들기 ( Tkinter 와 grid )
✅ 연산자 문법 정리
[ 파이썬 ] 비교 연산자 문법 정리 ( ==, !=, >, <, >=, <= ) 및 예제
[파이썬] 산술 연산자 문법 정리 ( + , - , * , / , % , **, // ) 및 예제
[ 파이썬 ] 논리 연산자 문법 정리 ( AND,OR,NOT ) 및 예제
[ 파이썬 ] 할당 연산자 문법 정리 ( =,+=,-=,/=,//=,%=,*=,**= ) 및 예제
✅ 함수 문법 정리
[ 파이썬 ] len() 함수 사용법 및 실제 프로젝트 예제
[ 파이썬 ] join() 함수 사용법 및 실제 프로젝트 예제
실무에서 가장 많이 쓰이는 파이썬 함수 25 개 모음집
✅ 개념 정리
[ 파이썬] 리스트(List) 와 튜플(Tuple) 의 차이점 및 실무 예제
# 1. 랜덤 비밀번호 생성기 준비물
비밀번호 생성기를 만들기 위해 필요한 것은 파이썬의 기본 라이브러리 중 하나인 random과 string 모듈입니다. 이 두 가지를 이용하면 랜덤하게 문자를 선택하여 복잡한 비밀번호를 생성할 수 있습니다.
import random
import string
이번 프로젝트에 필요한 라이브러리
- random 모듈은 랜덤 숫자나 문자를 선택하는 데 사용됩니다.
- string 모듈은 알파벳이나 숫자 등 문자열 데이터를 쉽게 다룰 수 있도록 도와줍니다.
# 2. 파이썬 랜덤 비밀번호 생성기 구현
비밀번호 생성기를 만드는 첫 단계로, 비밀번호를 생성하는 함수를 작성합니다. 사용자가 원하는 비밀번호 길이를 입력하면 그에 맞는 랜덤 비밀번호를 생성할 수 있도록 합니다.
랜덤 비밀번호 생성 함수
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
- string.ascii_letters: 모든 대소문자 알파벳을 포함합니다.
- string.digits: 숫자(0-9)를 포함합니다.
- string.punctuation: 특수문자를 포함하여 보안을 강화합니다.
- random.choice(): 주어진 문자열에서 무작위로 하나의 문자를 선택합니다.

이제 사용자가 원하는 비밀번호의 길이를 입력할 수 있도록 코드를 추가해보도록 하겠습니다.
사용자 입력 받기
def main():
try:
length = int(input("원하는 비밀번호 길이를 입력하세요 (8 이상): "))
if length < 8:
print("비밀번호 길이는 최소 8자 이상이어야 합니다.")
return
password = generate_password(length)
print(f"생성된 비밀번호: {password}")
except ValueError:
print("유효한 숫자를 입력해주세요.")
if __name__ == "__main__":
main()
- input(): 사용자가 원하는 비밀번호 길이를 입력할 수 있도록 합니다.
- int(): 입력받은 값을 정수로 변환합니다.
- try-except: 사용자가 잘못된 입력을 했을 때 오류 메시지를 출력합니다.

# 3.랜덤 비밀번호 생성기 실행
랜덤 비밀번호 생성기 프로그램을 실행해 보세요. 원하는 비밀번호 길이를 입력하면 안전하고 복잡한 비밀번호가 콘솔에 출력됩니다. 예를 들어, 길이를 12로 입력하면 대문자, 소문자, 숫자, 특수문자가 혼합된 12자리 비밀번호가 생성됩니다.

$ python password_generator.py
원하는 비밀번호 길이를 입력하세요 (8 이상): 12
생성된 비밀번호: X$2e@1Pq8Z!d
위와 같이 프로그램이 실행되고 복잡한 비밀번호가 생성됩니다.
# 4. 마무리
이번 포스팅에서는 파이썬을 사용해 안전한 비밀번호를 생성하는 프로그램을 만들어 보았습니다. 간단한 코드로도 우리의 온라인 보안을 크게 향상시킬 수 있는 도구를 만들 수 있습니다. 이러한 간단한 프로젝트는 파이썬의 기본 문법과 라이브러리를 익히는 데도 큰 도움이 됩니다. 직접 만들어 보고, 아래와 같은 다양한 확장 기능을 추가해 보세요
- 비밀번호 강도 옵션: 사용자가 원하는 강도(예: 숫자만, 알파벳+숫자, 특수문자 포함 등)를 선택할 수 있게 만들어 보세요.
- GUI 추가: Tkinter를 사용해 비밀번호 생성기를 GUI로 만들어 사용자 친화적인 인터페이스를 제공해볼 수 있습니다.
- 비밀번호 저장 기능: 생성된 비밀번호를 파일에 저장하거나, 클립보드에 복사하는 기능을 추가해 볼 수 있습니다.
혹시 추가 질문이나 도움이 필요한 부분이 있으면 댓글로 알려주세요. 안전한 비밀번호 생성으로 더욱 안전한 인터넷 생활을 즐기시길 바랍니다!