ПредишенСледващото

Всяка банкова карта има собствен идентификатор - уникален 16-цифрен номер. Може би си мислите, че тъй като хората (а оттам и на картата) толкова много, е възможно да мамят системата чрез въвеждане на комбинация от цифри измислени в, да речем, регистрация в някои сервиз, не мислете, плащане на посочената карта сега. Въпреки това, този трик не работи. Фактът, че номера на кредитни карти са изградени на базата на определени правила, и това ни позволява да се изчисли на точността на съществуването на въведената карта дори без да се позове директно на банката.

Например, когато задавате Visa карта и въвеждането на всяка една от първата цифра, различна от Четворката, тя не работи. Броят на всички Visa карти започват с "4" номера.

По-голямата част от карти, издадени в България чрез платежни системи Visa и MasterCard. За тях ние имаме следната комбинация от числа в началото на стаята:

  • Visa: 4-
  • MasterCard: 51- 52- 53- 54- 55-

    Реалността е, че въпреки разпространението на всички видове приложения, опростяващи съхранение и въвеждане на данните за картата, хората са много склонни да се съхранява информация във форма (и това има своето значение). В резултат на това, ние трябва да въведете постоянно броя на ръцете, които неизбежно ще доведат до човешки грешки.

    За миг откриване на грешки, докато пишете, са разработени за проверка алгоритми. Последната цифра във всяка кредитна карта - е резултат от предишната поредица от 15 цифри, и че винаги е възможно да се "Предполагам, че" ако знаете първите 15 цифри и алгоритъма Luhn.

    През 1954 г. Ханс Петер Луната е създал алгоритъм, който по-късно влезе в международния стандарт ISO / IEC 7812-1 стандарт, въз основа на които се строят номера с карти.

    Причината за избора на този алгоритъм се превръща своята простота и ефективност. Обикновеният човек след две или три пробни грешки в изчисленията може да се изчисли контролната цифра в ума. В този случай, методът е гарантирано да бъде открита грешка при въведете грешна едноцифрени числа. В допълнение, алгоритъмът разпознава почти всички случайни числа в двойка подмяна (типичен вход за грешки на човека). Но след това има и недостатъци. Контролната сума - само една цифра. Така че, има 10% шанс, че случайно генерирано число ще бъде вярно за алгоритъма.

    Luhn алгоритъм работи много лесно и има само различия в зависимост от броя на цифрите в последователността (дори или нечетен брой елементи). Също така се предлага създател преброени цифри от дясно на ляво, но е възможно и по този начин.

    Първоначално имаме поредица от 16 цифри.

    Избройте всички числа от ляво на дясно. Първо и по-късно през една цифра, умножена по две, и ако продуктът е по-голяма от девет, след това се изважда от него 9. Като опция - съберете цифрите на получената двуцифрено число. Това ще бъде един и същ.

    Получената последователност е оформен. В резултат на възпроизвеждане трябва да е кратно на 10, в противен случай контролната цифра е неправилно. За да бъде верен на оригиналната последователност, трябва да го увеличи, така че сумата, след преобразуването е кратно на 10.

    Има повече фантазия алгоритми за проверка, но за да ги намерите, не е толкова лесно в съзнанието му.

    Други примери за използването на контролни суми се използват навсякъде. Тя ви позволява да незабавно изчисли грешка при въвеждането на важни последователности от числа. Баркодове, идентификационни номера на различни лични документи в различни държави - всички с помощта на контролни суми. Заслужава да се отбележи, че проверка по сума, се използват навсякъде в електрониката като цяло, където целостта и сигурността на критичната надеждност на данните.

    Паритет В зората на ерата на компютрите, на паметта на компютъра не е толкова надеждна и периодично изкривени данни. Инженерите са искали да намерят начин за откриване на грешки в данните.

    Разтворът положи в контрола на паритет. 8 бита в един байт се добавят, и тяхната сума е или равна или нечетен. За всеки малко да се създаде допълнителен контрол бит - бит за четност. Ако сумата на битовете в един байт има дори, на паритетен малко записани единица, в противен случай - нула.

    Методът е много проста, но също така много неефективно. Не можем да кажем кои от бита в един байт се записват неправилно. Може би чек се записал малко обърка? Двойна грешка и може просто да се втурне.

    Сега, когато паметта е по-надежден и по-конвенционални компютри не използват паритет. Въпреки това, все още има много взискателни на надеждност на системата (банково дело, енергия и т.н.). Там се използва специален тип памет, наречена ECC (Error Correcting Code памет). Алгоритми, като например тези, използвани в ЗСК, позволяват с абсолютна точност, за да се открие всеки бит е неправилно и да се коригира стойността на истина.

    Свързани статии

  • Подкрепете проекта - споделете линка, благодаря!