IyB2cG5fZnVuY3Rpb25fdGVzdC5weQppbXBvcnQgdXVpZAppbXBvcnQgaGFzaGxpYgoKIyDqsITri6jtlZwg7IKs7Jqp7J6QIERCCnVzZXJzID0ge30KCiMg7IKs7Jqp7J6QIOyDneyEsSDtlajsiJgKZGVmIGNyZWF0ZV91c2VyKHVzZXJuYW1lLCBwYXNzd29yZCk6CiAgICB1c2VyX2lkID0gc3RyKHV1aWQudXVpZDQoKSkKICAgIGhhc2hlZF9wdyA9IGhhc2hsaWIuc2hhMjU2KHBhc3N3b3JkLmVuY29kZSgpKS5oZXhkaWdlc3QoKQogICAgdXNlcnNbdXNlcl9pZF0gPSB7JnF1b3Q7dXNlcm5hbWUmcXVvdDs6IHVzZXJuYW1lLCAmcXVvdDtwYXNzd29yZCZxdW90OzogaGFzaGVkX3B3LCAmcXVvdDthY3RpdmUmcXVvdDs6IFRydWV9CiAgICByZXR1cm4gdXNlcl9pZAoKIyDsgqzsmqnsnpAg67mE7Zmc7ISx7ZmUIO2VqOyImApkZWYgZGVhY3RpdmF0ZV91c2VyKHVzZXJfaWQpOgogICAgaWYgdXNlcl9pZCBpbiB1c2VyczoKICAgICAgICB1c2Vyc1t1c2VyX2lkXVsmcXVvdDthY3RpdmUmcXVvdDtdID0gRmFsc2UKICAgICAgICByZXR1cm4gVHJ1ZQogICAgcmV0dXJuIEZhbHNlCgojIOyCrOyaqeyekCDsobDtmowg7ZWo7IiYCmRlZiBnZXRfdXNlcih1c2VyX2lkKToKICAgIHJldHVybiB1c2Vycy5nZXQodXNlcl9pZCwgTm9uZSkKCiMg7Zmc7ISxIOyCrOyaqeyekCDrpqzsiqTtirgg7ZWo7IiYCmRlZiBsaXN0X2FjdGl2ZV91c2VycygpOgogICAgcmV0dXJuIFt1IGZvciB1IGluIHVzZXJzLnZhbHVlcygpIGlmIHVbJnF1b3Q7YWN0aXZlJnF1b3Q7XV0KCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMg7YWM7Iqk7Yq4IOyLpO2WiQpwcmludCgmcXVvdDs9PT0gVlBOIOq0gOumrCDquLDriqUg7YWM7Iqk7Yq4ID09PSZxdW90OykKdWlkMSA9IGNyZWF0ZV91c2VyKCZxdW90O2FsaWNlJnF1b3Q7LCAmcXVvdDtteXBhc3N3b3JkMTIzJnF1b3Q7KQp1aWQyID0gY3JlYXRlX3VzZXIoJnF1b3Q7Ym9iJnF1b3Q7LCAmcXVvdDtzZWN1cmVwYXNzNDU2JnF1b3Q7KQpwcmludCgmcXVvdDvsg53shLHrkJwg7IKs7Jqp7J6Q65OkOiZxdW90OywgdXNlcnMpCgpkZWFjdGl2YXRlX3VzZXIodWlkMSkKcHJpbnQoJnF1b3Q767mE7Zmc7ISx7ZmUIO2bhCDtmZzshLEg7IKs7Jqp7J6QIOuqqeuhnTomcXVvdDssIGxpc3RfYWN0aXZlX3VzZXJzKCkpCgpwcmludCgmcXVvdDvtirnsoJUg7IKs7Jqp7J6QIOyhsO2ajDomcXVvdDssIGdldF91c2VyKHVpZDIpKQo=
# vpn_function_test.py
import uuid
import hashlib
# 간단한 사용자 DB
users = {}
# 사용자 생성 함수
def create_user(username, password):
user_id = str(uuid.uuid4())
hashed_pw = hashlib.sha256(password.encode()).hexdigest()
users[user_id] = {"username": username, "password": hashed_pw, "active": True}
return user_id
# 사용자 비활성화 함수
def deactivate_user(user_id):
if user_id in users:
users[user_id]["active"] = False
return True
return False
# 사용자 조회 함수
def get_user(user_id):
return users.get(user_id, None)
# 활성 사용자 리스트 함수
def list_active_users():
return [u for u in users.values() if u["active"]]
# ------------------------------
# 테스트 실행
print("=== VPN 관리 기능 테스트 ===")
uid1 = create_user("alice", "mypassword123")
uid2 = create_user("bob", "securepass456")
print("생성된 사용자들:", users)
deactivate_user(uid1)
print("비활성화 후 활성 사용자 목록:", list_active_users())
print("특정 사용자 조회:", get_user(uid2))