본문 바로가기
Python

Python 비밀번호 생성기(easy , hard)

by CloudEngineer 2024. 5. 6.

비밀번호 생성기 프로그램 만들기.

1. 쉬운 버전

1. 비밀번호를 만들 리스트 만들기

2. 사용자에게 3가지 옵션 중 원하는 만큼 비밀번호 길이 선택권 주기

3. passwd라는 비어있는 문자열 변수 생성. 이 과정을 거치지 않으면 밑의 반복문을 통해 비밀번호를 만들지 못함

4. random.choice함수를 사용해서 list에 있는 인덱스를 랜덤하게 추출한 후 passwd 문자열에 더해줌(+=사용)

5. 3가지 리스트 모두에서 추출한 passwd 비밀번호 생성 완료.

 

+ 이 비밀번호 생성기 프로그램은 만들기는 간단하지만, 문자, 숫자, 기호 패턴이 일정해서 해킹이 쉬움

그래서 어려운 버젼도 존재함. 패턴을 무작위로 섞어줄수 있음.

 

 

문자, 숫자, 기호 리스트에서 추출하는 과정은 같지만 passwd_list 라는 리스트를 먼저 만들어서 

그 리스트 안에 넣어주는 과정이 다름.

1. 리스트에 넣은 인덱스를 shuffle이라는 함수를 통해 한번 섞어준다.

2. 출력해야 하기 때문에 리스트를 문자열로 바꿔주는 과정이 필요함.

3. passwd = "" 라는 변수를 다시 만들고, for 반복문을 통해 passwd_list에 있는 인덱스를 하나씩 추가해줌.

4. 마지막으로 출력하게 되면 랜덤으로 섞어서 보안성 강한 비밀번호가 생성됨.

 

이번 비밀번호 생성기 프로그램은 만드는데는 오래 걸리지 않았지만, 코드가 만들어지는 과정이 이해가 가지 않아서

완성된 코드를 이해하는데 꽤 오랜 시간이 걸렸다. 아직 프로그래밍적 사고 하는법이 익숙치 않은 탓인지

특정 프로그램을 만들기 위한 코드를 짜는게 서툴다. 강의만 봤을때는 함수 사용법을 이해한다고 착각하기 쉽다.

막상 주어진 미션을 하기 위해 0부터 시작하려면 너무 막막하다. 이 답답하고 짜증나는 과정을 이겨내야 

프로그래밍을 잘해진다고 들었기 때문에 그만하고 싶어도 "그냥" 묵묵히 해보려고 한다.

 

이 과정도 내가 살아오면서 익혔던 스킬들처럼 처음엔 어렵고 내가 할수 있을까? 라는 의문이 들지만 

결국엔 다 내것으로 만드는데 성공했던것처럼 꾸준하게 해볼것이다. 코딩을 잘하는 나를 상상하면서

매일매일 꾸준하게 조금이라도 코딩을 해보려고 한다.  

'Python' 카테고리의 다른 글

Python으로 행맨 만들기  (0) 2024.05.07
Python 보물 특정 위치에 숨기기 미션  (0) 2024.05.06
Python if 연습하기  (0) 2024.05.04
Python으로 윤년 계산하기  (0) 2024.05.03
Python 숫자 더하기  (0) 2024.05.03