Что такое ИИН и как проверить его корректность

Дек. 31, 2010| 16:27

ИИН - Индивидуальный Идентификационный Номер, 12-значный цифровой код, который присваивается физическому лицу один раз и пожизненно. с 1 января 2012 года заменит РНН и СИК.

Расшифровка ИИН :

  • первые 6 разрядов - это дата рождения ггммдд, то есть 12 августа 1985 года в ИИНе будет 850812
  • 7 разряд отвечает за век рождения и пол. Если цифра нечетная - пол мужской, четная - женский. 1,2 - девятнадцатый век, 3,4 - двадцатый, 5,6 - двадцать первый.
  • 8-11 разряды - заполняет орган Юстиции.
  • 12 разряд - контрольная цифра, которая расчитывается по определенному алгоритму

Проверка корректности ИИН :

Вспомогательная проверка. Строится на расшифровке.

  • вычленяем дату рождения из ИИН и проверяем её. Если дата неверна, то ИИН может быть не верен
  • если 7 разряд равен 0 или больше 6, то ИИН может быть не верен

Почему я пишу "может быть не верен", да потому что все решает человеческий фактор! Руки у операторов не всегда откуда надо растут, в итоге появляются ИИН с неправильно написанными датами, вместо 850812 например напишут 120885. Или опечатаются где-нибудь.

Основная проверка. По контрольной цифре, 12 разряду. Алгоритм формирования

  1. Формируем сумму. Сумма произведения порядка разряда на его значение. То есть для 850812 сумма начнется с (1*8+2*5+3*0+4*8+5*1+5*2+...). Берем остаток от делния суммы на 11. если остаток оказывается равен 10, то идем на второй шаг. Если не равен 10, то сравниваем контрольный разряд с остатком. Если равны - ИИН корректный.
  2. Сюда мы попадаем если в результате первого шага мы получили остаток 10. Здесь мы тоже будем суммировать произведения значений разрядов, только на этот раз не с порядковыми номерами, а с весами разрядов. Вес формируется следующим образом - остаток от деления на 11  суммы (порядковый номер разряда + 2). То есть для 850812, первый вес равен 3, второй 4 и так далее. Если вес оказывается равным 0, то вес приравнивают к 11. ну а дальше также. берем остаток от деления получившейся суммы на 11, если получаем 10, то данный ИИН не используется. Если не 10 сравниваем с контрольным разрядом.

В общем, вот так это все выглядит на php :


<?php
function valid_nn($nn)
{    
    
$s 0;
    for (
$i 0$i 11$i++)
    {
        
$s $s + ($i 1) * $nn{$i};
    }
    
$k $s 11;
    if (
$k == 10)
    {
        
$s 0;
        for (
$i 0$i 11$i++)
        {
            
$t = ($i 3) % 11;
            if(
$t == 0)
            {
                
$t 11;
            }
            
$s $s $t $nn{$i};
        }
        
$k $s 11;
        if (
$k == 10)
            return 
false;

        return (
$k == substr($nn,11,1));
    }
    return (
$k == substr($nn,11,1));
}

Кстати, алгоритм для проверки контрольного разряда подходит и к БИНам.

Ну а нужно это например, чтобы применить на сайте http://census.kz

UPDATE от 28.03.2012. Вот здесь ИИН можно проверить на корректность онлайн


Метки: php, howto
Имя :
Сайт или эл. почта :
Сообщение :
Код подтверждения :
 
  • , Янв. 3, 2011| 08:09
    Чёрт, один раз и пожизненно, конечно, но подозреваю, что с какого-нибудь года придумают что-то новенькое. Я даже знаю, с какого: не позже 2099, ведь XXII века в седьмом разряде не предусмотрено!

    Но, думаю, это случится раньше.
    reply to this
    • zloi, Янв. 3, 2011| 21:26
      сделают седьмой разряд 7,8 - XXII век )

      по айпишнику вижу, что приехал) нормально добрались, а то там жопа была полная в аэропортах у вас?
      reply to this
      • , Янв. 4, 2011| 02:02
        Ага, XXII, XXIII, а дальше? :)

        "Эйр Астана", к их чести, летает вроде по расписанию. Какие-то задержки бывали, но на пару часов только вроде. И не при нас.
        reply to this
  • , Июл. 12, 2011| 18:04
    Данный алгоритм неверный,
    правильный алгоритм расчета значения контрольного разряда в составе индивидуального идентификационного номера (ИИН) осуществляется в соответствии с пунктом 11 постановления Правительства Республики Казахстан от 30 апреля 2007 года № 352 «О внесении изменений и дополнений в некоторые решения Правительства Республики Казахстан».
    reply to this
    • zloi, Июл. 12, 2011| 18:14
      Рекомендую: протереть глаза и прочитать пункт "Основная проверка. По контрольной цифре, 12 разряду. Алгоритм формирования" и тот самый пункт 11 постановления. Если увидите разницу, то тогда протирать глаза придется мне.
      reply to this
      • , Июл. 12, 2011| 18:57
        Блин точно, просто я перекинул данный алгоритм на C# и сам допустил пару ошибок, из-за которых у меня получался не верный ИИН.

        Меня в реализации на РНР смущает следующее
        $t = ($i + 3) % 11;
        if($t == 0)
        {
        $t = 11;
        }
        Накуя так делать?
        reply to this
        • zloi, Июл. 12, 2011| 20:57
          нулевого веса не может же быть. когда $i равна 8, то вес получается 0, мы его приравниваем к 11.
          reply to this
          • , Июл. 12, 2011| 21:08
            Оуч, теперь я понял, веса на втором шаге равны
            3 4 5 6 7 8 9 10 11 1 2.
            а я подумал что они просто цифру 13 не допечатали и у меня в алгоритме веса равны
            3 4 5 6 7 8 9 10 11 12 13))))))))))
            Хотя скажу по секрету, от этого ничего не изменяется работает также верно))
            reply to this
          • , Июн. 30, 2016| 15:48
            На самом деле

            $t = ($i + 3) % 11;
            if($t == 0)
            {
            $t = 11;
            }

            можно просто заменить на

            $t = ($i + 2) % 11 + 1;

            :)
            reply to this
  • Алексей, Июл. 22, 2011| 15:32
    Взято отсюда

    http://it-giki.ru/post/194.html
    reply to this
    • zloi, Июл. 22, 2011| 18:06
      А не охуели ли вы, Алексей, вместе с админами этого сайта?

      Это они взяли этот пост отсюда.
      reply to this
    • , Мар. 30, 2012| 17:13
      Сравните даты публикации постов, тут Дек. 31, 2010| 10:27, а на указанной вами ссылке 05 января 2011, 22:27
      reply to this
      • zloi, Мар. 30, 2012| 17:23
        Пост скомуниздили из песочницы Хабра, где он провисел 2 недели, и не пройдя отбор, был удален. После этого я опубликовал его здесь.
        reply to this
  • Гульзат, Июн. 20, 2012| 11:51
    У меня вопрос: Если по документу (то есть по ИИН-у) человек умер,кто виноват что ИИН не правильный?
    reply to this
    • zloi, Июн. 20, 2012| 11:57
      Гульзат, что значит "по документу человек умер"? ИИН никаким образом не может показать живой человек или уже умер. Может быть вы имеет в виду, что первые 6 цифр ИИНа неправильно расставлены? В своей практике я сталкивался с примерами таких ИИНов, вместо 850812, писали 120885. МинЮст признает такие ИИНы как верные, потому что у них сходится контрольная цифра. Это обычная человеческая ошибка, оператор неправильно вбил. Это еще не страшно, в своей практике я также встречал ИИНы, которые не проходят проверку по контрольному разряду.
      reply to this
  • Гульзат, Июн. 21, 2012| 17:28
    При оформлении документов, мы узнали о том, что человек умер (но на самом деле он жив и здоров), потом нам сказали, что надо поменять ИИН.Говорят ИИН не правильный…
    Первую удостоверение личности он получил 2004г., а на базе (в ЦОНе) он 2005 году умер. Вот теперь человек по документу (удостоверение личности) умер. Что нам теперь делать то???
    reply to this
    • zloi, Июн. 21, 2012| 17:58
      Гульзат, я всего лишь разработчик, вы слишком многого от меня хотите)
      Я так понимаю, что по ошибке в базе в ЦОНе в 2005 этого человека признали мертвым, скорее всего напротив его удв проставили отметку умер. Теперь получается, когда вы это удв показываете, по базе показывает, что человек мертв, хотя человек жив. Я предлагаю вам в ЦОНе сходить к руководству и они вам все скажут. Скорее всего они не могут убрать отметку обратно на живой, поэтому просят вас поменять документы. Я так понимаю, хотят еще замять это дело, чтобы их не наказывали. Поэтому обратитесь к руководству в ЦОНе, пусть вам все объяснят
      reply to this
  • Гульзат, Июл. 9, 2012| 09:43
    Мы в ЦОН обратились, но никого толка нету
    reply to this
  • , Июл. 29, 2012| 18:31
    что-то я не до понял,например возьмем эти ИИН'ы без контрольного - 85041230234*,85041230074*,85041230071*,85041230312*,85041230822* - в этих ИИН'нах первый шаг равен 10'ю, второй шаг тоже выходить 10
    1 шаг: а1*1+а2*2+а3*3+а4*4+а5*5+а6*6+а7*7+а8*8+а9*9+a10*10+a11*11делим на 11, остаток = 10
    2 шаг: a1*3+a2*4+a3*5+a4*6+a5*7+a6*8+a7*9+a8*10+a9*11+a10*1+a11*2 делим на 11, остаток =10 тоже
    reply to this
    • zloi, Июл. 30, 2012| 00:08
      Даулет, что вас смущает? Значит, по алгоритму, данный ИИН не будет использоваться.
      reply to this
  • , Июл. 30, 2012| 20:33
    да, что-то я ошибся в формуле, после формулу проверил, и исправил все на ок... еще раз спасибо за алгоритм

    вот мой вариант ссылка --http://ahamanov-daulet.narod.ru/IIN.xls-- , вроде нормальный, только код получился огромный. VBA Excel
    reply to this
  • , Июл. 31, 2012| 10:57
    {7 разряд отвечает за век рождения и пол. Если цифра нечетная - пол мужской, четная - женский. 1,2 - девятнадцатый век, 3,4 - двадцатый, 5,6 - двадцать первый}
    19 век - с 1 января 1801 года по 31 декабря 1900 года
    20 век - с 1 января 1901 года по 31 декабря 2000 года
    21 век - с 1 января 2001 года по 31 декабря 2100 года
    так же, если взят ИИН (000422687594) то дата рождения 22.04.2000
    22.04.2000 20 век же, а 20 век 7 разряд {3,4} не так ли???
    reply to this
    • zloi, Июл. 31, 2012| 11:31
      Наверное, разработчики в минюсте думают, что 21 век начался в 2000 году )
      reply to this
  • , Авг. 23, 2012| 13:09
    написал на блог министру МЮ РК http://blogs.e.gov.kz/imashev_b/questions/159024 ответил...:
    далее министру МВД РК http://blogs.e.gov.kz/kassymov_k/questions/159583, ответили мне не по теме, я у них спрашиваю про 7-мой разряд ИИН-а который 2000 году родившимся ставят 5 или 6, а должны 3 или 4 зависимо от пола :)))
    reply to this
  • Людмила, Ноя. 9, 2012| 12:44
    Здравствуйте , напишите попонятнее как рассчитать контрольную однозначную цифру, если можно попроще и в полном объёме, вот я перемножила и сложила и это разделила на 11 , остаток 5 (по вашему примеру ), а в иин 4 последняя цифра ????????????????????
    reply to this
    • Denis, Ноя. 9, 2012| 14:27
      Людмила, добрый день. Вот по этой ссылке http://zloi.kz/nn можно посмотреть, какая должна быть контрольная цифра. Алгоритм расчета приведен выше, вроде все понятно написано. Задайте вопрос поконкретней, если что-то не понятно.
      reply to this
      • Людмила, Ноя. 9, 2012| 20:10
        Спасибо, я попробую ещё раз.
        reply to this
  • , Янв. 8, 2013| 20:43
    по первому проверку: если 11 разряд поменять на любую цифру контрольная цифра та же будет. Так что при вводе ИИН внимательно надо вводить 11 разряд.
    X*11 mod 11=0
    reply to this
    • zloi, Янв. 9, 2013| 10:46
      Да, заметили такую особенность. Можно взять 1 правильный ИИН и, меняя предпоследнюю цифру, получить еще 9 свиду правильных ИИНов )
      reply to this
  • , Янв. 10, 2013| 18:22
    Добрый вечер! Подскажите пожалуйста, если ИИН неправильно присвоен, как быть? Дело в том что у мамы первые 6 цифр не соответствуют дате рождения., т.е. там совсем другие цифры. Сегодня к ней позвонили с бухгалтерии и сказали что не могут скинуть з/п, т.к. неправильный ИИН. Уже обзвонила ЦОН,МЮ, все футболят,никто ничего не знает. Как жить дальше?))
    reply to this
    • zloi, Янв. 14, 2013| 10:09
      Доброе утро, Индира. Я всего лишь разработчик, никак не связан ни с каким из вышеуказанных вами гос. органов. Но вообще, насколько я понял из нескольких обсуждений подобных эксцессов, то ИИН не меняется, как присвоили - так присвоили. Все эти разряды служат только для информации, единственным признаком корректности ИИНа является контрольный разряд. Если все окей с контрольным разрядом, то все должно работать, по крайней мере так отвечают в блоге министра МЮ на егов.кз. Это уже инициатива банка, что они проверяют дату рождения и первые 6 цифр ИИНа, требуйте, чтобы они отключили эту проверку.
      reply to this
    • Дмитрий, Авг. 12, 2013| 12:09
      А у нас у нескольких человек были неправильные цифры либо в первых 6 цифрах, либо в 7-й и банк без проблем переводил зарплату и пенсионные, а налоговикам похоже все равно, главное чтоб последняя цифра рассчитана правильно была.
      reply to this
  • , Фев. 27, 2013| 12:12
    Подскажите,что делать,если неправильно забили дату рождения в ИНН?Теперь не могут перечислить пенсионные отчисления по установленной программе!Хотя ИНН зарегистрирован в налоговых органах.
    reply to this
    • zloi, Фев. 27, 2013| 12:19
      Елена, посмотрите комментарий выше. Я всего лишь написал алгоритм проверки контрольного разряда ИИН. По идее, если есть ИИН, то больше никаких проверок он не должен проходить.
      reply to this
      • , Ноя. 28, 2013| 12:55
        Скажите пожалуйста у меня такая же ошибка в ИИН (дата рождения неправильно указана),и у меня сейчас проблемы по пенсионным отчислениям. Неужели ничего нельзя сделать, куда писать-жаловаться, ведь ошибок таких сотни))))
        reply to this
      • , Дек. 6, 2013| 10:12
        Zloi, помогите плиз. Не могу выйти на контрольный разряд. Мой ИИН 900123350519. Сумма произведений = 163. Далее делю на 11. = 14. А мой контрольный разряд = 9. Где я ошибся? Спасибо.
        reply to this
        • zloi, Дек. 6, 2013| 10:29
          Надо брать остаток от деления на 11. В вашем случае, 14 * 11 + 9 = 163. Получается, отстаток от деления 163 на 11 равен 9. Что и является контрольным разрядом вашего ИИНа.
          reply to this
          • , Дек. 6, 2013| 15:52
            Zloi, спасибо вам !
            reply to this
  • , Июн. 27, 2014| 16:47
    Здраствуйте! У моего малыша день рождение 25.02.2014 году но нам дали ИИН номер начиная от числа 130225505410. Можем ли мы изменить ИИН номер
    reply to this
  • , Окт. 27, 2014| 16:30
    У меня такая проблема есть ИИН и есть РНН.
    У них алгоритм проверки 12-ой цифры рызный?
    reply to this
  • , Окт. 29, 2014| 23:33
    Здравствуйте , у меня проблема , дата не совпадает с ИИН , пошел в автошколу , по программе я не проходил , так как программа не считывает несовпадение ИИН с датой , в программе забили как надо и я прошел , но получается то ИИН не мой забили , и теперь не знаю как быть , это только с правами проблема , завтра этих проблем будет еще больше , дата рождения 10.11.1992 а ИИН 921010350868 , читал в интернете что это программа не пропускает с ошибками , в общем не знаю как быть , везде разводят руками , мол ИИН не переделывается , а мне то что делать , сегодня права не могу получить . завтра еще что то , в общем это серьезная проблема которую надо решать , посоветуйте , буду очень благодарен
    reply to this
  • StaslOr, Июл. 9, 2017| 05:40
    Вагонка – это пиломатериал идеально строганный, который сразу же применяется в декоре помещений как внутри так и снаружи строения.
    Она представляет собой не толстую, определенного размера длинны и ширины. Вагонку изготавливают как из дешевых сортов древесины так и с дорогих.
    Вагонка киев разделяется на сорта в зависимости от качества дерева и столярных работ.Низшим сортом является сучки на пиломатериале,
    их количество и размеры, смолянистые выделение на древесине, наличие коры, присутствие гнили или отверстия от жуков, неровность, вмятины и т.д.

    Если и присутствует один из вышеперечисленных дефектов в вагонке киев,
    такую древесину можно купить подешевле и использовать в строительстве как стройматериал не учитывая эстетики.
    Вагонка разделяется на сорта: Высший сорт, первый, второй и третий.
    Также довольно часто в последнее время набирает популярности Евровагонка.
    Это пиломатериал отличается более высокой ценой и техническим характеристикам Европейских стран (DIN 68-126).Вагонка из хвойных пород дерева считается более дешевой.
    Она по характеристикам уступает лиственным породам древесины, но и в строительстве имеет свое место.
    Хвойная древесина имеет низкую стойкость к повышенной температуре.
    Такую вагонку можно применить в обшивке балконов, для внешней отделки тоже хорошо подходит,
    хоть и со временем меняет цвет на более темный.
    Для внутренней отделки натуральной вагонкой из хвои придаст помещению приятный запах лесной природы.
    https://eco-les.club/news/vagonka
    [url={url}]{keyword}[/url]
    [url={url}]{keyword}[/url]
    [url={url}]{keyword}[/url]
    [url={url}]{keyword}[/url]
    [url={url}]{keyword}[/url]
    [url={url}]{keyword}[/url]
    reply to this
  • Frankaluh, Июл. 17, 2017| 16:25
    поисковая раскрутка сайта
    с помощью агрегатора сайтов

    http://s45.radikal.ru/i110/1702/c6/e28611ea9003.gif


    продвинуть сайт бесплатно



    $$+$$*
    reply to this