반응형
파이썬으로 작성된 프로그램을 배포할 때 인증키를 집어넣는 가장 간단한 방식을 설명한다. 물론 실제 사용을 위해서는 암호화 작업이나 필요에 따라서 인증 서버를 구축할 필요가 있지만 가장 단순하게 하드 코딩을 해서 인증키를 집어넣고 배포파일(exe)만 제공하더라도 원하는 기능을 할 수 있다.
main.py
from datetime import datetime
if __name__ == "__main__":
d = datetime.today().strftime("%Y%m%d")
intd = int(d)
with open("cdkey.txt", mode="r") as file:
lines = file.read()
print(lines)
cdkey = lines
keyCheck = False
if cdkey == '19as-asw2-wq2d-d2da':
keyCheck= True
elif intd >= 20200716 and intd < 20200720:
if cdkey != '19as-asw2-wq2d-d2da':
keyCheck = False
elif intd >= 20200720 and intd < 20200820:
if cdkey != '2323-asw2-wq2d-d2da':
keyCheck = False
elif intd >= 20200820 and intd < 20200920:
if cdkey != '4242-asw2-2132-2222':
keyCheck = False
elif intd >= 20200920 and intd < 20201020:
if cdkey != '5646-asw2-wq2d-3333':
keyCheck = False
elif intd >= 20201020 and intd < 20201120:
if cdkey != '6655-asw2-wq2d-4444':
keyCheck = False
if keyCheck == False:
exit()
print('올바른 CD Key 입니다. 프로그램을 시작합니다.')
c = input()
코드 내용은 다음과 같다.
'cdkey.txt' 파일을 읽어서 안에 씨디키를 확인한 다음 제대로된 씨디키 일 경우 프로그램을 시작하는 구조이다. 그리고 현재 일자를 확인하여 한달 단위로 각 씨디키가 다르게 설정하였다. 따라서 만일 10월 21 경 에 현재 프로그램을 사용하고 싶을 경우 '6655-asw2-wq2d-4444' 값이 'cdkey.txt'안에 들어가 있어야 프로그램이 정상적으로 작동할 것이다.
프로그램 배포
프로그램 배포는 pyinstaller 를 사용하였다.
프로그램 배포 사용 명령어는 다음과 같다. py 파일이 위치한 곳에서 pyinstaller 를 실행 하면된다.
( main.py : 파이썬 파일
main.exe: 만들어질 실행파일 )
만일 정상적으로 배포 파일이 만들어 질 경우 다음과 같은 메시지가 나올 것이다.
그리고 현재 실행 폴더에 build 폴더와 dist 폴더가 생긴다. dist 폴더 내에 있는 .exe 파일이 현재 배포 파일이다.
만들어진 배포파일이 제대로 작동하는 지 확인 해 보면
다음과 같이 나오면 제대로 작동하는 것을 알 수 있다.
반응형
'프로그래밍 > PYTHON' 카테고리의 다른 글
[Python]파이썬_Tkinter_동영상재생(OpenCV, Tkinter, 웹캠) (0) | 2020.07.29 |
---|---|
[Python]파이썬_Matplotlib_Tkinter 연결 (0) | 2020.07.23 |
[Python]파이썬_OpencvMat_Tkinter 연결 (0) | 2020.07.22 |
2. 파이썬 UDP 소켓 통신(PYTHON UDP SOCKET PROGRAM) (1) | 2019.11.14 |
1. 파이썬 설치 및 환경 구축(PYTHON INSTALL) (0) | 2019.11.14 |