Шифрование и модификация ключа

This commit is contained in:
2026-03-05 18:48:27 +07:00
parent 1a5c27bb0c
commit f551b85a73

38
backend/utils/crypto.py Normal file
View File

@@ -0,0 +1,38 @@
def encrypt_bytes(key: int, bs: bytes) -> bytes:
"""
Простое шифрование XOR + модификация ключа.
Аргументы:
- key: int - начальный ключ
- bs: bytes - данные для шифрования
Возвращает:
- bytes: зашифрованные данные
"""
result: bytearray = bytearray()
for b in bs:
k: int = (key >> 8) & 0xFF
enc: int = b ^ k
result.append(enc)
key = (enc & key) | 0x482D
return bytes(result)
def decrypt_bytes(key: int, bs: bytes) -> bytes:
"""
Обратное преобразование к EncryptBytes.
Аргументы:
- key: int - начальный ключ
- bs: bytes - данные для расшифровки
Возвращает:
- bytes: расшифрованные данные
"""
result: bytearray = bytearray()
for b in bs:
k: int = (key >> 8) & 0xFF
dec: int = b ^ k
result.append(dec)
key = (b & key) | 0x482D
return bytes(result)