본문 바로가기
Q&A2022년 4월 19일1분 읽기

프로그램에 라이선스 키 시스템 구현하기

정
정태영
조회 722댓글 1

제가 만든 프로그램에 라이선스 키 검증 시스템을 넣고 싶습니다. 어떻게 구현하나요?

댓글 1

김김영삼4년 전

라이선스 키 시스템 구현 방법:

1. 간단한 오프라인 방식 (키 형식 검증):

import hashlib, base64

def generate_key(email):
secret = "your-secret-salt"
h = hashlib.sha256(f"{email}{secret}".encode()).digest()
return base64.b32encode(h[:15]).decode().strip("=")
# 예: ABCDE-FGHIJ-KLMNO-PQRST

def verify_key(email, key):
return generate_key(email) == key.replace("-", "")

2. 온라인 검증 (추천):

# 서버 API
POST /api/activate
Body: { "key": "XXXXX", "machine_id": "hash..." }
Response: { "valid": true, "expires": "2023-12-31" }

# 클라이언트가 주기적으로 서버에 검증 요청

3. 오픈소스 라이선스 서버:

  • Keygen.sh — SaaS 라이선스 관리
  • LicenseSpring — 라이선스 API

오프라인 방식은 키젠으로 쉽게 뚫리므로, 중요한 소프트웨어는 온라인 검증을 사용하세요.

Ctrl+Enter로 등록