비밀번호 길이를 입력받고
해당 비밀번호에 들어갈 숫자 갯수와 특수문자 갯수를 입력받은 후
무작위로 비밀번호를 만들어주는 코드를 만들었다.
또한 만들어진 비밀번호를 자동적으로 파일에 저장해주는 코드이다.
완성시 보여지는 그림은
------------------------------------------------------------------
어디에 쓰일 비밀번호 인가요? => 네이버
비밀번호의 길이를 입력해주세요 => 12
숫자는 몇개를 포함할까요? => 2
특수문자는 몇개를 포함할까요? =>2
D'uraZK'2Tw6
password.txt 이름의 파일에 네이버 비밀번호가 저장되었습니다.
------------------------------------------------------------------
어디에 쓰일 비밀번호 인가요? => 싸이월드
비밀번호의 길이를 입력해주세요 => 12
숫자는 몇개를 포함할까요? => 2
특수문자는 몇개를 포함할까요? =>2
2TMSgf7/}EcP
password.txt 이름의 파일에 네이버 비밀번호가 저장되었습니다.
------------------------------------------------------------------
------------password.txt---------------
----네이버----
D'uraZK'2Tw6
----싸이월드----
2TMSgf7/}EcP
내가 만든 코드 내용은 이렇다.
#비밀번호 생성 프로그램.
import random
import string
letters = string.ascii_letters #문자 (대소문자)
numbers = string.digits #숫자
symbols = string.punctuation #특수문자
#<-- 입력받고 확인하는 부분 -->
while True:
where = input("어디에 사용할 비밀번호인가요?")
password_length = int(input("비밀번호 길이를 입력하세요: "))
num_count = int(input("숫자는 몇개를 포함할까요?"))
num_sym = int(input("특수문자는 몇개를 포함할까요?"))
if password_length > num_count + num_sym:
break
else:
print("비밀번호 길이가 숫자와 특수문자를 더한값보다 작습니다. 재입력 해주세요")
#<-- 비밀번호 무작위 생성-->
password = ''
for _ in range(num_count):
password += random.choice(numbers)
for _ in range(num_sym):
password += random.choice(symbols)
if num_count + num_sym < password_length:
for _ in range(password_length - num_count - num_sym) :
password += random.choice(letters)
else:
print("입력 양식이 맞지않습니다. 재실행 요망")
#<--완성된 비밀번호 무작위로 섞기-->
password_list = list(password)
random.shuffle(password_list)
password = ''.join(password_list)
print(password)
#<--만들어진 비밀번호 저장-->
with open("password.txt", "a") as file:
file.write("-----"+ where + "------"+ "\n"+ password + "\n")
print("password.txt 이름의 파일에 "+ where + " 비밀번호가 저장되었습니다.")
'드림핵 정리' 카테고리의 다른 글
Same Origin Policy (SOP) (1) | 2024.06.14 |
---|---|
드림 핵 - 웹 해킹 - cookie session ( Background: Cookie & Session ) (2) | 2023.07.01 |
드림 핵 - 웹 해킹 - 웹 브라우저 ( Tools : Browser DevTools ) (0) | 2023.06.27 |
드림 핵 - 웹 해킹 - 웹 브라우저 ( Background : Web Browser ) (0) | 2023.06.27 |
드림 핵 - 웹 해킹 - 웹 기본 상식 ( Background: HTTP/HTTPS ) (0) | 2023.06.26 |