Files
drhider/drhider/generators/ogrn.py
T
2026-07-12 08:22:20 +04:00

27 lines
960 B
Python

"""
Генератор фиктивного ОГРН (13 знаков).
Формат: «ОГРН » + 13 цифр с корректной контрольной суммой.
"""
import re
from ..random_utils import random_digits
from ..checksum import checksum_ogrn
def generate_ogrn(original: str) -> str:
"""Сгенерировать фиктивный 13-значный ОГРН.
Сохраняет оригинальный префикс (например, «ОГРН »).
Первая цифра всегда 1 (признак юридического лица).
Args:
original: Оригинальная строка с ОГРН
Returns:
Строка вида «ОГРН 1XXXXXXXXXXX-C» с корректной контрольной суммой
"""
prefix = re.match(r'ОГРН\s*', original, re.IGNORECASE).group(0)
base = "1" + random_digits(11)
return prefix + base + checksum_ogrn(base)