Содержание
Что означают номера банковских карт
Любая банковская карта имеет собственный идентификатор — уникальный 16-значный номер. Можно подумать, что раз людей (а значит и карт) так много, то можно обмануть систему, введя придуманную комбинацию цифр при, скажем, регистрации в каком-то сервисе, не предполагающем оплату с указанной карты прямо сейчас. Однако такой трюк не сработает. Дело в том, что номера банковских карт строятся исходя из определённых правил, и это позволяет вычислить достоверность существования введённой карты даже без обращения непосредственно к банку.
К примеру, при указании карты Visa и введении любой первой цифры, отличной от четвёрки, ничего не сработает. Номера всех карт Visa начинаются с цифры «4».
Абсолютное большинство карт в России выпускаются от платёжных систем Visa и MasterCard. Для них справедливы следующие комбинации цифр в начале номера:
- Visa: 4-
- MasterCard: 51- 52- 53- 54- 55-
Полный список префиксов банковских карт, в зависимости от платёжной системы, можно найти здесь.
Контрольная сумма
Реальность такова, что, несмотря на распространение всевозможных приложений, упрощающих хранение и ввод данных с карт, люди очень неохотно хранят информацию в таком виде (и в этом есть свой смысл). В итоге, приходится постоянно вводить номер руками, что неизбежно приводит к человеческим ошибкам.
Для мгновенного обнаружения ошибок при вводе, были разработаны проверочные алгоритмы. Последняя цифра в номере любой банковской карты — это результат последовательности предыдущих 15 цифр, и его всегда можно «угадать», если знать первые 15 цифр и алгоритм Луна.
В 1954 году Ганс Питер Лун создал алгоритм, который в дальнейшем вошёл в международный стандарт ISO/IEC 7812-1, на основе которого и строятся номера карт.
Причинами выбора такого алгоритма стали его простота и эффективность. Обычный человек после пары-тройки пробных просчётов сможет вычислять контрольную цифру в уме. При этом, метод гарантированно обнаруживает ошибку при неправильном вводе одной цифры номера. Помимо этого, алгоритм обнаруживает почти все случайные парные замены цифр (типичная ошибка человека при вводе). Однако тут есть и минусы. Контрольная сумма — всего 1 цифра. Значит, существует 10% шанс, что случайно сгенерированный номер окажется верным для алгоритма.
В Telegram-канале «Лайфхакер» только лучшие тексты о технологиях, отношениях, спорте, кино и многом другом. Подписывайтесь!
В нашем Pinterest только лучшие тексты об отношениях, спорте, кино, здоровье и многом другом. Подписывайтесь!
Алгоритм Луна работает очень просто и имеет вариации только в зависимости от количества цифр в последовательности (чётное или нечётное число элементов). Также создатель предлагал нумеровать цифры справа налево, но можно и так.
Изначально у нас есть последовательность из 16 цифр.
Нумеруем все цифры слева направо. Первую и последующие через одну цифры умножаем на два, и, если произведение оказывается больше девяти, то вычитаем из него 9. Как вариант — складываем цифры получившегося двузначного числа. Будет то же самое.
Получившаяся последовательность складывается.
Результат воспроизведения должен быть кратен 10, иначе контрольная цифра неверна. Чтобы сделать её верной для исходной последовательности, нужно увеличить её настолько, чтобы сумма после преобразования была кратна 10.
Существуют и более навороченные алгоритмы проверки, но посчитать их в уме уже не так просто.
Другие примеры использования
Контрольные суммы используются повсеместно. Это позволяет мгновенно вычислять ошибки при вводе важных последовательностей цифр. Штрих-коды, идентификационные номера различных персональных документов в разных странах — везде используются контрольные суммы. Стоит заметить, что контрольные суммы применяются вообще во всей электронике, где важна целостность и сохранность достоверности данных.
Чётность
На заре развития эры компьютеров, память в вычислительных машинах была не столь надёжной и периодически искажала данные. Инженеры хотели найти способ обнаружения ошибок в данных.
Решение заключалось в контроле по паритету. 8 бит в байте складывались, и их сумма была либо чётной, либо нечётной. Для каждого бита создавался дополнительный контрольный бит — бит чётности. Если сумма битов в байте была чётной, то в контрольный бит записывалась единица, иначе — нуль.
Метод крайне прост, но также и очень неэффективен. Нельзя сказать, какой из битов в байте был записан некорректно. Быть может, сам контрольный бит записался неверно? Двойная ошибка также могла попросту проскочить.
Сейчас память куда надёжнее, и обычные компьютеры более не используют проверку на чётность. Однако до сих пор существуют особо требовательные к надёжности системы (банковская сфера, энергетика и так далее). Там применяется особый тип памяти под названием ECC (Error Correcting Code Memory). Алгоритмы, подобные тем, что применяются в ECC, позволяют с абсолютной точностью обнаруживать каждый некорректный бит и исправлять его значение на верное.
Несмотря на активный переход к твердотельным накопителям (SSD), магнитные жёсткие диски (HDD) по-прежнему остаются основным методом хранения информации. Они значительно дешевле, а соотношение цены за бит хранимой информации в них пока что недостижимо для SSD.
HDD имеет в своей конструкции подвижные элементы и закономерно является одним из наиболее часто выходящих из строя устройств в компьютере. Если вы ни разу в жизни не сталкивались с фактом вышедшего из строя жёсткого диска, то вы либо очень молоды, либо невероятно везучи.
В случае с хранением важных данных, приходится обращаться к самому действенному, хоть и не самому выгодному решению — чтобы данные не пропали в случае поломки одного диска, нужно хранить их параллельно на двух и более дисках.
Альтернативный и чуть более эффективный по финансам метод заключается в дроблении данных по разным дискам и записи контрольных сумм на эти диски. Весь смысл RAID строится на предположении о том, что поломка одного диска может случиться в любой момент, а вот поломка сразу двух — куда менее вероятна. Как только в работе одного диска обнаруживаются неполадки, то, с надеждой на нормальную работу оставшихся дисков, поломанного брата убирают и ставят на место новый диск. Затем на него заливается информация и система продолжает работать как надо.
Изначально аббревиатура RAID означала «Redundant Array of Inexpensive Disks». Смысл заключался именно в использовании более дешёвых и менее надёжных дисков. Было понятно, что диски выходят из строя, но с учётом сохранения данных, такие диски обходились суммарно дешевле, нежели более дорогие и относительно более надёжные диски.
Сейчас, когда жёсткие диски в целом стали куда надёжнее, само значение RAID изменилось. Теперь это «Redundant Array of Independent Disks».
Подобные меры, безусловно, нужны, и мы, если посмотрим на это с позиции жизни отдельного человека, легко сможем спроецировать такие методы на ежедневную деятельность — различные чек-листы, todo-менеджеры, ремайндеры, подёргать дверь после того, как заперли её ключом. Всё это проверки на ошибки и попытки избежать их.
Источник https://lifehacker.ru/chto-oznachayut-nomera-bankovskix-kart/
Источник
Источник
Источник