Опубликован алгоритм генерации уникальных 11-разрядных номеров жителям РФ

?v=1

На портале проектов правовых документов regulation.gov.ru для общественного обсуждения опубликован проект постановления правительства «Об утверждении порядка формирования записей единого федерального информационного регистра, содержащего сведения о населении Российской Федерации», а также проект постановления, определяющий порядок присвоения номера записи в едином федеральном информационном регистре сведений о населении ‎России.

С 1 января 2022 г. будет запущен единый федеральный информационный регистр сведений о гражданах страны, иностранных гражданах и лицах без гражданства. Каждому лицу присвоят 11-разрядный уникальный номер, который невозможно будет изменить. В единой базе данных будет собрана вся информация о каждом жителе, собранная из разных источников.

Алгоритм генерации номера изложен под катом.

  1. Первые девять разрядов номера генерируются случайным образом. Последовательность из девяти цифр должна быть уникальной.
  2. В десятый разряд записывается контрольное число K1, которое вычисляется следующим образом: значения девяти разрядов умножаются на соответствующие коэффициенты из таблицы ниже. Затем девять полученных чисел суммируются. Полученное в сумме число делится на 11, и определяется остаток от деления. Определяется разность между числом 11 и остатком от деления. Это и будет значение контрольного числа K1. Если разность между числом 11 и остатком деления является двузначным числом, контрольное число К1 принимает нулевое значение.
  3. В одиннадцатый разряд записывается контрольное число K2, которое вычисляется по такому же алгоритму, что и контрольное число K1, только с другими коэффициентами.

© Habrahabr.ru