Перейти к содержимому

Генератор CURP - Тестирование мексиканских идентификационных кодов для разработки

Генерируйте действительные тестовые CURP для разработки мексиканских приложений. Бесплатный инструмент создает случайные 18-значные идентификационные коды в соответствии с официальным форматом RENAPO. Идеально подходит для тестирования, заполнения базы данных и проверки API.

Создайте случайный, синтаксически правильный образец CURP с правильной контрольной цифрой.

Калькулятор загрузки...
📚

Документация

Что такое генератор CURP?

Генератор CURP создаёт случайный образец CURP — кода из 18 символов, который Мексика использует для идентификации жителей и граждан. Результат имеет правильную структуру и правильно рассчитанную контрольную цифру, но не связан с реальным человеком. Разработчики используют такие инструменты для тестирования программного обеспечения, не раскрывая чьи-либо настоящие персональные данные.

Что такое CURP?

CURP расшифровывается как Clave Única de Registro de Población, или уникальный код регистрации населения. Его выдаёт RENAPO (Registro Nacional de Población e Identidad), национальный реестр населения Мексики. CURP есть почти у каждого жителя Мексики. Этот код указывается в документах для зачисления в учебные заведения, налоговых записях, медицинских документах и при регистрации избирателей. Он составляется из частей имени человека, даты рождения, пола и штата рождения, а также двух дополнительных символов, которые помогают различать людей с одинаковым кодом.

Структура и формат CURP

CURP всегда содержит 18 символов — только прописные буквы или цифры. Каждая позиция имеет фиксированное значение.

ПозицияЗначение
1Первая буква фамилии отца
2Первая внутренняя гласная фамилии отца (первая гласная после первой буквы)
3Первая буква фамилии матери
4Первая буква имени
5–6Последние две цифры года рождения
7–8Месяц рождения (01–12)
9–10День рождения (01–31)
11Пол: H для Hombre (мужской), M для Mujer (женский)
12–13Двухбуквенный код штата рождения, например DF для Мехико или JC для Халиско
14Первая внутренняя согласная фамилии отца
15Первая внутренняя согласная фамилии матери
16Первая внутренняя согласная имени
17Цифра для лиц, родившихся до 2000 года, или буква для лиц, родившихся в 2000 году или позже
18Контрольная цифра, рассчитанная по первым 17 символам

В этой системе Мексика использует 32 кода штатов: по одному для каждого из 31 штатов и отдельный код для Мехико.

Если первые четыре символа случайно образуют слово, считающееся грубым в испанском языке, RENAPO заменяет второй символ на X. Например, у человека по имени Ines Bueno Estrada код начинался бы с BUEI, поэтому вместо этого он начинается с BXEI. Этот генератор блокирует те же 82 слова и применяет такую же замену.

Как рассчитать контрольную цифру CURP

18-й символ выявляет ошибки при наборе и копировании. Он рассчитывается по первым 17 символам следующим образом:

  1. Для каждого из первых 17 символов найдите его в алфавите 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Его позиция в этом списке, начиная с 0, является его значением. Поэтому 0 имеет значение 0, A — 10, R — 28, а Z — 36.
  2. Умножьте значение каждого символа на вес. Для первого символа вес равен 18, затем для каждого следующего символа он уменьшается на единицу и для 17-го символа становится равен 2.
  3. Сложите 17 произведений и получите сумму S.
  4. Контрольная цифра равна (10 − (S mod 10)) mod 10.

Пример расчёта

Рассмотрим вымышленного человека: Juan Pérez Ramírez, родившегося 15 марта 1985 г. в штате Халиско; при рождении ему был присвоен мужской пол.

  • Позиция 1: P, первая буква фамилии «Pérez»
  • Позиция 2: E, первая внутренняя гласная фамилии «Pérez» (после первой буквы идут E, R, E, Z, поэтому первой гласной является E)
  • Позиция 3: R, первая буква фамилии «Ramírez»
  • Позиция 4: J, первая буква имени «Juan»
  • Позиции 5–10: 850315 для даты 1985-03-15
  • Позиция 11: H, мужской пол
  • Позиции 12–13: JC, Халиско
  • Позиция 14: R, первая внутренняя согласная фамилии «Pérez»
  • Позиция 15: M, первая внутренняя согласная фамилии «Ramírez»
  • Позиция 16: N, первая внутренняя согласная имени «Juan»
  • Позиция 17: 0, цифра, поскольку год рождения предшествует 2000 году (в реальных записях используется фиксированное правило выбора цифры; в этом примере используется 0)

Первые 17 символов имеют вид PERJ850315HJCRMN0. Применение приведённой выше формулы к этой строке даёт сумму 2342. Поскольку 2342 mod 10 = 2, контрольная цифра равна (10 − 2) mod 10 = 8. Полный CURP: PERJ850315HJCRMN08.

Как работает этот генератор

Инструмент создаёт образец CURP в несколько этапов. Сначала он выбирает случайные буквы для части имени, затем год рождения от 1940 до года, предшествующего текущему, чтобы дата всегда была в прошлом. День выбирается в пределах фактического числа дней выбранного месяца, поэтому 29 февраля появляется только в високосные годы. Пол и код штата выбираются случайно. Затем инструмент добавляет три внутренние согласные, при необходимости применяет замену грубого слова, выбирает букву для позиции 17, если год рождения — 2000 или позже, и цифру, если он более ранний, а затем рассчитывает контрольную цифру по приведённой выше формуле.

Перед отображением кода инструмент проверяет его ещё раз: структура должна соответствовать шаблону из 18 символов, месяц должен иметь значение 01-12, закодированная дата должна существовать в календаре и быть в прошлом, а контрольная цифра — совпадать. Век для проверки даты определяется по позиции 17 согласно тому же правилу, которое использует RENAPO: цифра означает 1900-е годы, а буква — 2000-е. Код, не прошедший любую из этих проверок, не отображается.

Распространённые способы использования сгенерированных CURP

Команды разработчиков используют сгенерированные CURP для тестирования регистрационных форм, полей базы данных и логики проверки перед выпуском продукта для мексиканских пользователей. Поскольку коды случайны, их можно массово создавать для нагрузочного тестирования или заполнения базы данных разработки, не используя и не сохраняя реальные идентификационные данные людей.

История системы CURP

Мексика ввела CURP в 1996 году, чтобы заменить разрозненные системы идентификации, которые разные государственные учреждения использовали независимо друг от друга, из-за чего было трудно сопоставлять записи об одном человеке в разных базах данных. С тех пор CURP стал необходимым для многих взаимодействий с государственными органами, включая зачисление в учебные заведения, подачу налоговой декларации и оформление паспорта. Для людей, родившихся начиная с 2000 года, RENAPO указывает в позиции 17 букву вместо цифры.

Сравнение CURP с другими национальными системами идентификации

СтранаСистемаФормат
МексикаCURP18 символов, букв и цифр
Соединённые ШтатыНомер социального страхования9 цифр
КанадаНомер социального страхования9 цифр
БразилияCPF11 цифр
ИндияAadhaar12 цифр
ИспанияDNI/NIE8 цифр и контрольная буква

В отличие от простого последовательного номера, CURP содержит читаемую информацию: дату рождения, пол и штат. Благодаря этому можно проверить, является ли закодированная дата реальной календарной датой; такую проверку инструмент выполняет при создании образца кода.

Часто задаваемые вопросы

Для чего используется генератор CURP?

Он создаёт случайный код в том же формате, что и настоящий CURP, для тестирования программного обеспечения, заполнения базы данных и проверки правильности работы логики валидации.

Связаны ли сгенерированные CURP с реальными людьми?

Нет. Каждый символ выбирается случайно или рассчитывается на основе других случайных значений. Результат не связан ни с одним реальным человеком, живым или умершим.

Можно ли использовать сгенерированный CURP в официальной форме?

Нет. Только RENAPO может выдать действительный CURP реальному человеку. Использование сгенерированного кода в государственной форме, налоговой декларации или любом официальном документе было бы мошенничеством.

Почему некоторые CURP заканчиваются буквой, а другие — цифрой в позиции 17?

Позиция 17 позволяет различать людей, у которых иначе были бы одинаковые CURP. RENAPO использует цифру для людей, родившихся до 2000 года, и букву для родившихся в 2000 году или позже.

Почему в CURP иногда стоит X в качестве второго символа?

Потому что первые четыре символа иначе образовали бы слово, считающееся грубым в испанском языке. В таком случае RENAPO заменяет второй символ на X, поэтому BUEI превращается в BXEI.

Сохраняет ли этот инструмент создаваемые CURP?

Нет. Код создаётся в браузере с помощью JavaScript. Ничего не отправляется на сервер и не сохраняется.

Как рассчитывается контрольная цифра?

Каждый из первых 17 символов преобразуется в число на основе его позиции в фиксированном алфавите из 37 символов, умножается на вес от 18 до 2, а полученные произведения складываются. Контрольная цифра равна (10 − (sum mod 10)) mod 10. См. приведённый выше пример.

Источники

  1. SEGOB (Secretaría de Gobernación), официальный портал CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), Нормативная инструкция по присвоению CURP.