From e4e950ea1862a82097c41d9da9c4c640169aa9e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 7 Jul 2026 15:20:50 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20drhider=20=5Fchecksum=5Finn12=20?= =?UTF-8?q?=E2=80=94=20compute=20n1=20before=20s2=20(IndexError=20fix)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/drhider/drhider.py | 9 ++++++--- site/services/drhider.py | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/deploy/drhider/drhider.py b/deploy/drhider/drhider.py index 919f4ef..1ecf74f 100644 --- a/deploy/drhider/drhider.py +++ b/deploy/drhider/drhider.py @@ -80,12 +80,15 @@ def _checksum_inn10(inn: str) -> str: def _checksum_inn12(inn: str) -> str: - """Контрольные суммы для 12-значного ИНН.""" + """Контрольные суммы для 12-значного ИНН (первые 10 цифр).""" c1 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8] c2 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8] s1 = sum(int(inn[i]) * c1[i] for i in range(10)) - s2 = sum(int(inn[i]) * c2[i] for i in range(11)) - return str((s1 % 11) % 10) + str((s2 % 11) % 10) + n1 = (s1 % 11) % 10 + inn2 = inn + str(n1) + s2 = sum(int(inn2[i]) * c2[i] for i in range(11)) + n2 = (s2 % 11) % 10 + return str(n1) + str(n2) def _checksum_ogrn(ogrn: str) -> str: diff --git a/site/services/drhider.py b/site/services/drhider.py index 5723553..7ebea53 100644 --- a/site/services/drhider.py +++ b/site/services/drhider.py @@ -80,12 +80,15 @@ def _checksum_inn10(inn: str) -> str: def _checksum_inn12(inn: str) -> str: - """Контрольные суммы для 12-значного ИНН.""" + """Контрольные суммы для 12-значного ИНН (первые 10 цифр).""" c1 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8] c2 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8] s1 = sum(int(inn[i]) * c1[i] for i in range(10)) - s2 = sum(int(inn[i]) * c2[i] for i in range(11)) - return str((s1 % 11) % 10) + str((s2 % 11) % 10) + n1 = (s1 % 11) % 10 + inn2 = inn + str(n1) + s2 = sum(int(inn2[i]) * c2[i] for i in range(11)) + n2 = (s2 % 11) % 10 + return str(n1) + str(n2) def _checksum_ogrn(ogrn: str) -> str: