Генерация CNPJ: подробное руководство с примерами кода

В Бразилии Cadastro Nacional da Pessoa Jurídica (CNPJ) – это уникальный идентификационный номер налогоплательщика, присваиваемый компаниям. CNPJ играют решающую роль в различных деловых операциях и юридических процессах. В этой статье мы рассмотрим различные методы программного создания CNPJ, приведя примеры кода на Python.

Метод 1: генерация случайных чисел
Один из самых простых подходов к генерации CNPJ — случайная генерация 14-значных чисел. Однако важно отметить, что не все случайно сгенерированные числа будут действительными CNPJ.

import random
def generate_cnpj_random():
    cnpj = ''.join(str(random.randint(0, 9)) for _ in range(14))
    return cnpj

Метод 2: алгоритмическая генерация
Действительные CNPJ в Бразилии следуют определенному алгоритму. Хотя алгоритм сложен, его понимание позволяет нам программно генерировать действительные CNPJ.

def generate_cnpj_algorithm():
    base = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
    cnpj = [random.randint(0, 9) for _ in range(12)]
    # Generate the first verification digit
    sum_ = sum(x * y for x, y in zip(cnpj, base))
    digit1 = (sum_ % 11) % 10
    cnpj.append(digit1)
    # Generate the second verification digit
    base.insert(0, 6)
    sum_ = sum(x * y for x, y in zip(cnpj, base))
    digit2 = (sum_ % 11) % 10
    cnpj.append(digit2)
    return ''.join(map(str, cnpj))

Метод 3: использование библиотеки генерации CNPJ
Если вы предпочитаете более надежное и эффективное решение, вы можете использовать специализированную библиотеку, например cnpjgenв Python.

from cnpjgen import cnpj_generator
def generate_cnpj_library():
    cnpj = cnpj_generator()
    return cnpj

Программное создание CNPJ можно выполнить различными методами. Существует множество способов решения этой задачи: от генерации случайных чисел до алгоритмических подходов и специализированных библиотек. В зависимости от ваших требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям.

Помните, что сгенерированные CNPJ следует использовать ответственно и этично, соблюдая законодательные требования и правила вашей юрисдикции.

Включив эти методы в свой код, вы можете легко создавать CNPJ для тестирования, моделирования данных или любого другого допустимого варианта использования.