From 667d3c205a7ede5b5f7de6a838f92a0908e3dc5f Mon Sep 17 00:00:00 2001 From: icysanta Date: Mon, 1 Dec 2025 11:47:45 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=86=D0=B5=D0=BD=D0=B7=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/services/license_service.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/services/license_service.py b/backend/services/license_service.py index ff6bd4d..3348a6a 100644 --- a/backend/services/license_service.py +++ b/backend/services/license_service.py @@ -4,11 +4,13 @@ from pathlib import Path from ..utils.encoding import variant_base64_encode from ..utils.crypto import encrypt_bytes + class LicenseType: Professional: int = 1 Educational: int = 3 Personal: int = 4 + def generate_license_file( user_name: str, version: str, @@ -26,18 +28,21 @@ def generate_license_file( minor_version: int = int(minor_str) except Exception as e: raise ValueError(f"Неверный формат версии: {version}") from e - # Формирование строки лицензии (исправлено: убрали лишний #, интегрировали цифры в один блок) + + # Формирование строки лицензии license_str: str = ( f"{lic_type}#{user_name}|{major_version}{minor_version}" f"#{count}#{major_version}3{minor_version}6{minor_version}#0#0#0#" ) + # Шифрование и кодирование encrypted: bytes = encrypt_bytes(0x0787, license_str.encode("utf-8")) encoded: str = variant_base64_encode(encrypted).decode("ascii") - + # Создание временной директории и файла с фиксированным именем temp_dir = tempfile.TemporaryDirectory() filepath = Path(temp_dir.name) / "Custom.mxtpro" with ZipFile(filepath, "w") as zf: zf.writestr("Pro.key", encoded) - return str(filepath), temp_dir \ No newline at end of file + + return str(filepath), temp_dir