b_a_t: (clever)
b_a_t ([personal profile] b_a_t) wrote2006-10-09 12:53 am
Entry tags:

Число зверя

Кстати, совершенно случайно сегодня, благодаря [livejournal.com profile] schors и [livejournal.com profile] jerom узнал, что эти длинные ужасные числа ИНН и прочих БиК не просто так, от балды придуманы, а несут в себе контрольную сумму, что позволяет проверять их правильность на месте, не обращаясь ни к каким базам данных.

http://polytech.ural.ru/checkvalues.htm собственно.

Забавно.

[identity profile] uisky.livejournal.com 2006-10-09 01:20 am (UTC)(link)
Так и у ISBN, например, та же хуйня.

[identity profile] b-a-t.livejournal.com 2006-10-09 01:40 am (UTC)(link)
Да ты чё?! Блиииин, жизнь прошла мимо...

Хм... А партбилет вот? Или паспорт?Там-то хоть все нормально :)?

[identity profile] uisky.livejournal.com 2006-10-09 02:05 am (UTC)(link)
Нет, что ты. Более того, даже номера трамваев содержат в себе информацию о каждом своём пассажире. Про размер носков и цены на водку я вообще молчу.

[identity profile] b-a-t.livejournal.com 2006-10-13 12:44 am (UTC)(link)
Блин, я так и знал ведь! Думал еще - почемк у меня трамвай всегда второй?

[identity profile] felisss.livejournal.com 2006-10-09 02:19 am (UTC)(link)
а про SIN ты подумал?! та же фигня ж))

[identity profile] msh.livejournal.com 2006-10-09 02:24 am (UTC)(link)
В SIN Luhn как в кредитках

[identity profile] b-a-t.livejournal.com 2006-10-13 12:46 am (UTC)(link)
Ну, сюрприз был в первую очередь что и у нас не лаптем щи хлебают, додумались использовать такую защину от опечатки.

[identity profile] b-a-t.livejournal.com 2006-10-13 12:45 am (UTC)(link)
У нас нет никаких sins :) Мы чисты перед Богом :)

[identity profile] michael-s.livejournal.com 2006-10-09 02:38 am (UTC)(link)
ненавижу эти абревиатуры.

[identity profile] b-a-t.livejournal.com 2006-10-13 12:44 am (UTC)(link)
Да уж, и всю систему в целом.

[identity profile] argv-0.livejournal.com 2006-10-09 05:53 am (UTC)(link)

Ну вообще-то эта фигня практиковалась ещё задолго до всяких ИНН... ;)

Во чего у себя закромах нарыл:

      TNumberAll        = Array[0..8] Of Char;
      TNType            = Array[0..2] Of Char;
      TNPlan            = Array[0..2] Of Char;
      TNKey             = Char;
      TNN               = Array[0..1] Of Char;

      PNumber           = ^TNumber;
      TNumber           = Record Case Byte Of
     0:(All:                                            TNumberAll);
     1:(NType:                                          TNType;
        NPlan:                                          TNPlan;
        NKey:                                           TNKey;
        NN:                                             TNN);
      End;

    Procedure NumberKey(            Var Number:         TNumber);
      Const
        NK:Array[0..Pred(SizeOf(TNumber))] Of Byte      = (9,1,3,9,1,3,0,1,3);
      Var
        Sum:                                            Integer;
        Count:                                          Byte;
      Begin
        Sum:=1;
        For Count:=0 To Pred(SizeOf(TNumber)) Do
          Sum:=Sum+NK[Count]*(Byte(Number.All[Count])-48);
        Number.NKey:=Char(Sum mod 10 + 48);
      End;

Подсчёт контрольной цифирьки в номере счёта. Ещё того, советского, 9-и значного.

"Эх, молодость, молодость..." (c) :)))

[identity profile] b-a-t.livejournal.com 2006-10-13 12:42 am (UTC)(link)
Ишь ты чего! Как все запущено, однако! А полином похож на тот, что в ИНН используют :)

[identity profile] duke-igthorn.livejournal.com 2006-10-09 07:04 am (UTC)(link)
Только не говори мне, что ты не в курсе про номер кредитной карточки?;)

[identity profile] b-a-t.livejournal.com 2006-10-13 12:41 am (UTC)(link)
Ну, тамошний код я использовал, когда мы свою систему приема кредиток писали... Но тут-то - кто бы ожидал от наших такой подлости?!

[identity profile] dphq.livejournal.com 2006-10-09 09:11 am (UTC)(link)
вот если б в номерах была избыточность, которая позволяла автоматически исправлять один знак на любой позиции...

[identity profile] b-a-t.livejournal.com 2006-10-13 12:36 am (UTC)(link)
CRC32 :)? И кто бы их исправлял потом :)?

[identity profile] firecat-7.livejournal.com 2006-10-09 06:24 pm (UTC)(link)
А еще в ИННах зашифрован год рождения владельца :)

[identity profile] b-a-t.livejournal.com 2006-10-13 12:35 am (UTC)(link)
Серьезно? Тогда я понимаю тех религиозных людей, которые обзывали ИНН числом сатаны и отказывались его полцчать!

[identity profile] firecat-7.livejournal.com 2006-10-13 04:18 am (UTC)(link)
Абсолютно серьезно. Я это знаю с далеких времен своей работы в пенсионном фонде. Вот как вычисляется - не помню, но очень как-то очень просто

[identity profile] ex-snoobot367.livejournal.com 2006-10-11 12:58 am (UTC)(link)
бля, это заговор

[identity profile] b-a-t.livejournal.com 2006-10-13 12:36 am (UTC)(link)
Однозначно!