|
import base64 |
|
|
|
SECRET_KEY = b"my-simple-key" |
|
|
|
def xor_encrypt(data: bytes, key: bytes) -> bytes: |
|
return bytes([b ^ key[i % len(key)] for i, b in enumerate(data)]) |
|
|
|
def encrypt_video_id(video_id: str) -> str: |
|
encrypted = xor_encrypt(video_id.encode(), SECRET_KEY) |
|
return base64.urlsafe_b64encode(encrypted).decode().rstrip("=") |
|
|
|
def decrypt_video_id(enc_id: str) -> str: |
|
padded = enc_id + "=" * (-len(enc_id) % 4) |
|
encrypted = base64.urlsafe_b64decode(padded.encode()) |
|
decrypted = xor_encrypt(encrypted, SECRET_KEY) |
|
return decrypted.decode() |