반응형
파이썬을 통한 일상생활의 문제해결
대표적으로 압축파일의 비밀번호를 알아낼 수 있습니다.
악용하지는 마시고 내가 비밀번호 걸어놨는데 너무 오래되어 기억이 나지 않을 때
이럴 때 사용하시면 좋습니다.
단, 비밀번호 자릿수가 늘어나면 그만큼 조합되는 경우의 수가 많아져 시간이 급격히 증가합니다.
예시에서는 123 딱 세자리수로 하니까 금방 찾네요.
# 필요한 라이브러리 불러오기
import itertools
import zipfile
# 함수 정의
def unzip(pw, pw_min, pw_max, zFile):
for len in range(pw_min, pw_max+1):
attempt = itertools.product(pw, repeat = len)
for a in attempt:
password = ''.join(a)
print(password)
try:
zFile.extractall(pwd = password.encode())
print (f"비밀번호는 {password} 입니다")
return 1
except:
pass
#패스워드에 사용할 단어 조합(현재 특수문자 추가 됨)
pw = "012345789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*?"
zFile = zipfile.ZipFile(r'/content/강사수_예산_v1.0.zip')
# 비밀번호 자릿수 설정(직접 입력받기)
pw_min = int(input('최소 비밀번호 자릿수를 입력하세요 : '))
pw_max = int(input('최대 비밀번호 자릿수를 입력하세요 : '))
unzip_result = unzip(pw, pw_min, pw_max, zFile)
if unzip_result == 1:
print("암호찾기 성공")
else:
print("암호찾기 실패")
파이썬이 비밀번호 조합하는 모습입니다.
아래에 있는 zip파일의 압축이 풀려서 xlsx파일이 나왔습니다.
반응형
'파이썬' 카테고리의 다른 글
유데미 최고의 파이썬 강좌 Angela Yu Python 부트캠프 (0) | 2023.01.15 |
---|---|
[조코딩 X 태지쌤] 조코딩 파이썬 강의영상에 태지쌤이...ㅋㅋㅋ (0) | 2022.11.17 |
파이썬으로 QR코드 생성하기 (0) | 2022.09.29 |
[파이썬] 내부 외부 IP 알아내는 방법 (0) | 2022.09.26 |
우분투 VScode에서 한글 입력 안되는 문제 해결방법 (0) | 2022.09.24 |