Генератор CPF - Создание действительных бразильских налоговых идентификаторов для тестирования
Бесплатный генератор CPF создает действительные бразильские налоговые идентификационные номера, которые проходят алгоритмы проверки. Идеально подходит для тестирования форм, API и баз данных без использования реальных личных данных.
Нажмите, чтобы сгенерировать действительный бразильский номер CPF для тестирования
Документация
Что такое генератор CPF
Генератор CPF — это инструмент, создающий случайные бразильские номера CPF. CPF (Cadastro de Pessoas Físicas, реестр физических лиц) — это 11-значный идентификационный номер налогоплательщика, который федеральная налоговая служба Бразилии присваивает физическим лицам. Номера, создаваемые этим инструментом, проходят официальный алгоритм проверки контрольных цифр, но не зарегистрированы за реальными людьми. Разработчики используют их для заполнения тестовых форм, наполнения баз данных и проверки кода валидации без работы с реальными персональными данными.
Формат номера CPF
Номер CPF содержит 11 цифр и обычно записывается в виде XXX.XXX.XXX-XX. Первые девять цифр образуют основной номер. Последние две — контрольные цифры, рассчитываемые по фиксированной формуле на основе первых девяти. Контрольные цифры позволяют программному обеспечению обнаруживать опечатки: если одна цифра введена неверно, расчёт контрольных цифр почти всегда завершается несоответствием, поэтому недействительные номера можно отклонять автоматически.
Пример: 123.456.789-09
Как рассчитываются контрольные цифры CPF
Обе контрольные цифры рассчитываются одним и тем же методом взвешенной суммы, применяемым дважды.
Первая контрольная цифра
- Умножьте каждую из первых 9 цифр на соответствующий вес — от 10 до 2.
- Сложите полученные результаты.
- Разделите сумму на 11 и сохраните остаток.
- Если остаток равен 0 или 1, контрольная цифра равна 0. В противном случае контрольная цифра равна 11 минус остаток.
Вторая контрольная цифра
Повторите те же действия, используя все имеющиеся 10 цифр (исходные 9 и только что рассчитанную первую контрольную цифру), с весами от 11 до 2.
Всегда отклоняется один шаблон: основной номер, состоящий из одной и той же цифры, повторённой 9 раз (например, 111111111), даёт контрольные цифры, равные этой же цифре, поэтому такие номера, как 111.111.111-11, проходят проверку по формуле. Поэтому бразильские системы и этот генератор считают недействительным любой CPF, содержащий 11 одинаковых цифр, независимо от результата расчёта по формуле.
Пример расчёта
Возьмём основные цифры 1, 2, 3, 4, 5, 6, 7, 8, 9.
При весах от 10 до 2 получаем: (1×10) + (2×9) + (3×8) + (4×7) + (5×6) + (6×5) + (7×4) + (8×3) + (9×2) = 210.
При делении 210 на 11 остаток равен 1. Поскольку остаток меньше 2, первая контрольная цифра равна 0.
Теперь используем все 10 цифр (1,2,3,4,5,6,7,8,9,0) с весами от 11 до 2: (1×11) + (2×10) + (3×9) + (4×8) + (5×7) + (6×6) + (7×5) + (8×4) + (9×3) + (0×2) = 255.
При делении 255 на 11 остаток равен 2. Поскольку остаток равен 2 или больше, вторая контрольная цифра равна 11 − 2 = 9.
Полный номер: 123.456.789-09.
Как пользоваться этим генератором CPF
Нажмите «Сгенерировать CPF». Инструмент выбирает девять случайных цифр, отклоняет последовательность, если все девять случайно оказываются одинаковыми, а затем рассчитывает на их основе две контрольные цифры по приведённой выше формуле. Результат отображается в формате XXX.XXX.XXX-XX; рядом есть кнопка для его копирования.
Зачем разработчики используют сгенерированные CPF
Реальные номера CPF идентифицируют реальных людей, поэтому их использование в тестовых системах может привести к раскрытию персональных данных или нарушению бразильского закона о защите данных LGPD. Сгенерированный CPF решает эту проблему: он проходит такую же проверку контрольных цифр, как и настоящий, поэтому позволяет аналогичным образом тестировать валидацию форм, ограничения базы данных и обработку запросов API, не будучи связанным с каким-либо реальным человеком.
К распространённым вариантам использования относятся наполнение тестовых баз данных, проверка того, что форма регистрации отклоняет номера с неверным форматом и принимает действительные, а также заполнение демонстрационных данных. Сгенерированные CPF не совпадут с реальной записью в государственной базе данных, поэтому они непригодны для тестирования поиска в действующих бразильских системах — их можно использовать только для проверки самого формата и логики расчёта контрольных цифр.
CPF и CNPJ
CPF идентифицирует физических лиц. CNPJ (Cadastro Nacional da Pessoa Jurídica, национальный реестр юридических лиц) идентифицирует компании и другие юридические лица. CNPJ содержит 14 цифр и использует похожую, но отдельную формулу расчёта контрольных цифр с весами. Генераторы CPF и CNPJ не взаимозаменяемы.
Часто задаваемые вопросы
Связан ли сгенерированный CPF с реальным человеком? Нет. Цифры выбираются случайным образом, а контрольные цифры рассчитываются на их основе. Результат никак не связан с базой данных Receita Federal Бразилии.
Можно ли использовать сгенерированный CPF для открытия счёта или подачи налоговой декларации? Нет. Системы, проверяющие CPF по государственным реестрам, сразу отклонят сгенерированный номер, а его использование для выдачи себя за другое лицо при подаче документов незаконно.
Почему инструмент отклоняет номера со всеми одинаковыми цифрами, например 111.111.111-11? Потому что формула контрольных цифр математически принимает такие номера, но бразильские учреждения считают CPF с повторяющимися цифрами заведомо недействительными фиктивными значениями, а не настоящими номерами. Генератор отфильтровывает их, и средство проверки также их отклоняет.
Сколько существует различных действительных CPF? Первые 9 цифр могут представлять любую комбинацию от 000000000 до 999 999 999, то есть 1 000 000 000 вариантов. Две контрольные цифры не выбираются случайно, а рассчитываются на основе этих 9 цифр. Поэтому всего существует около 1 миллиарда возможных действительных CPF, за вычетом 10 комбинаций с повторяющимися цифрами. Следовательно, вероятность случайного совпадения двух независимо сгенерированных CPF составляет примерно 1 к (2,5 см) 1 миллиарда.
Пройдёт ли сгенерированный CPF проверку сторонними библиотеками валидации? Да. Любая библиотека, проверяющая стандартный алгоритм расчёта контрольных цифр по модулю 11, примет его, поскольку номер создан с использованием того же алгоритма.
В чём разница между CPF и RG? CPF — федеральный налоговый номер с единым национальным форматом и алгоритмом. RG (Registro Geral, общий реестр) — удостоверение личности, выдаваемое штатом; его формат различается в разных штатах, и стандартного алгоритма расчёта контрольных цифр для него нет.
Источники
- Receita Federal do Brasil, «CPF — Cadastro de Pessoas Físicas»
- Закон № 4,862 от 1965 года, учредивший систему CPF: planalto.gov.br
- Общий закон о защите данных (LGPD), закон Бразилии о защите данных: gov.br/lgpd