Magisto - Magical Video Editor
Совсем недавно я начал самостоятельно записывать и монтировать игровые видео-ролики и видео-...
MyScript Stack — клавиатура для рукописного ввода
Дорогие читатели и милые читательницы, бесконечно рад снова видеть Вас на страницах нашего с...
Лучшие игры для iPad
Топ-10 игр самых разных жанров, разбитый по сезонам. На все игры есть подробный обзор и геймплейное видео.

Автор Тема: Что означают номера банковских карт  (Прочитано 3225 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Вася Яблочник

  • Бывалый
  • **
  • Сообщений: 67
  • Репутация: +2/-0
Что означают номера банковских карт
« : Февраль 02, 2014, 04:25:17 pm »
Любая банковская карта имеет собственный идентификатор — уникальный 16-значный номер. Можно подумать, что раз людей (а значит и карт) так много, то можно обмануть систему, введя придуманную комбинацию цифр при, скажем, регистрации в каком-то сервисе, не предполагающем оплату с указанной карты прямо сейчас. Однако такой трюк не сработает. Дело в том, что номера банковских карт строятся исходя из определённых правил, и это позволяет вычислить достоверность существования введённой карты даже без обращения непосредственно к банку.

К примеру, при указании карты Visa и введении любой первой цифры, отличной от четвёрки, ничего не сработает. Номера всех карт Visa начинаются с цифры «4».

Абсолютное большинство карт в России выпускаются от платёжных систем Visa и MasterCard. Для них справедливы следующие комбинации цифр в начале номера:

Visa: 4-
MasterCard: 51- 52- 53- 54- 55-
Полный список префиксов банковских карт, в зависимости от платёжной системы, можно найти здесь.

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

Для мгновенного обнаружения ошибок при вводе, были разработаны проверочные алгоритмы. Последняя цифра в номере любой банковской карты — это результат последовательности предыдущих 15 цифр, и его всегда можно «угадать», если знать первые 15 цифр и алгоритм Луна.

В 1954 году Ганс Питер Лун создал алгоритм, который в дальнейшем вошёл в международный стандарт ISO/IEC 7812-1, на основе которого и строятся номера карт.

Причинами выбора такого алгоритма стали его простота и эффективность. Обычный человек после пары-тройки пробных просчётов сможет вычислять контрольную цифру в уме. При этом, метод гарантированно обнаруживает ошибку при неправильном вводе одной цифры номера. Помимо этого, алгоритм обнаруживает почти все случайные парные замены цифр (типичная ошибка человека при вводе). Однако тут есть и минусы. Контрольная сумма — всего 1 цифра. Значит, существует 10% шанс, что случайно сгенерированный номер окажется верным для алгоритма.

Алгоритм Луна работает очень просто и имеет вариации только в зависимости от количества цифр в последовательности (чётное или нечётное число элементов). Также создатель предлагал нумеровать цифры справа налево, но можно и так.

Изначально у нас есть последовательность из 16 цифр.

4

Нумеруем все цифры слева направо. Первую и последующие через одну цифры умножаем на два, и, если произведение оказывается больше девяти, то вычитаем из него 9. Как вариант — складываем цифры получившегося двузначного числа. Будет то же самое.

1

Получившаяся последовательность складывается.

2

Результат воспроизведения должен быть кратен 10, иначе контрольная цифра неверна. Чтобы сделать её верной для исходной последовательности, нужно увеличить её настолько, чтобы сумма после преобразования была кратна 10.

3

Существуют и более навороченные алгоритмы проверки, но посчитать их в уме уже не так просто.

Другие примеры использования
Контрольные суммы используются повсеместно. Это позволяет мгновенно вычислять ошибки при вводе важных последовательностей цифр. Штрих-коды, идентификационные номера различных персональных документов в разных странах — везде используются контрольные суммы. Стоит заметить, что контрольные суммы применяются вообще во всей электронике, где важна целостность и сохранность достоверности данных.

Чётность
На заре развития эры компьютеров, память в вычислительных машинах была не столь надёжной и периодически искажала данные. Инженеры хотели найти способ обнаружения ошибок в данных.

Решение заключалось в контроле по паритету. 8 бит в байте складывались, и их сумма была либо чётной, либо нечётной. Для каждого бита создавался дополнительный контрольный бит — бит чётности. Если сумма битов в байте была чётной, то в контрольный бит записывалась единица, иначе — нуль.

ku-xlarge

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

Сейчас память куда надёжнее, и обычные компьютеры более не используют проверку на чётность. Однако до сих пор существуют особо требовательные к надёжности системы (банковская сфера, энергетика и так далее). Там применяется особый тип памяти под названием ECC (Error Correcting Code Memory). Алгоритмы, подобные тем, что применяются в ECC, позволяют с абсолютной точностью обнаруживать каждый некорректный бит и исправлять его значение на верное.

RAID
Несмотря на активный переход к твердотельным накопителям (SSD), магнитные жёсткие диски (HDD) по-прежнему остаются основным методом хранения информации. Они значительно дешевле, а соотношение цены за бит хранимой информации в них пока что недостижимо для SSD.

HDD имеет в своей конструкции подвижные элементы и закономерно является одним из наиболее часто выходящих из строя устройств в компьютере. Если вы ни разу в жизни не сталкивались с фактом вышедшего из строя жёсткого диска, то вы либо очень молоды, либо невероятно везучи.

В случае с хранением важных данных, приходится обращаться к самому действенному, хоть и не самому выгодному решению — чтобы данные не пропали в случае поломки одного диска, нужно хранить их параллельно на двух и более дисках.

Альтернативный и чуть более эффективный по финансам метод заключается в дроблении данных по разным дискам и записи контрольных сумм на эти диски. Весь смысл RAID строится на предположении о том, что поломка одного диска может случиться в любой момент, а вот поломка сразу двух — куда менее вероятна. Как только в работе одного диска обнаруживаются неполадки, то, с надеждой на нормальную работу оставшихся дисков, поломанного брата убирают и ставят на место новый диск. Затем на него заливается информация и система продолжает работать как надо.

Изначально аббревиатура RAID означала «Redundant Array of Inexpensive Disks». Смысл заключался именно в использовании более дешёвых и менее надёжных дисков. Было понятно, что диски выходят из строя, но с учётом сохранения данных, такие диски обходились суммарно дешевле, нежели более дорогие и относительно более надёжные диски.

Сейчас, когда жёсткие диски в целом стали куда надёжнее, само значение RAID изменилось. Теперь это «Redundant Array of Independent Disks».

Подобные меры, безусловно, нужны, и мы, если посмотрим на это с позиции жизни отдельного человека, легко сможем спроецировать такие методы на ежедневную деятельность — различные чек-листы, todo-менеджеры, ремайндеры, подёргать дверь после того, как заперли её ключом. Всё это проверки на ошибки и попытки избежать их.

lifehacker.ru
с уважением, Василий Иванович

Онлайн Главный котэ

  • Рекламщик
  • *****
Что означают номера банковских карт
« : Февраль 02, 2014, 04:25:17 pm »

Оффлайн admin

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 811
  • Репутация: +9/-0
  • Счастливый обладатель iPad2, iPad4 и iPad mini2
Re: Что означают номера банковских карт
« Ответ #1 : Февраль 02, 2014, 05:30:54 pm »
Про последнюю (контрольную) цифру знал, что она вычисляется на основании 15 предыдущих. Но прочитал с удовольствием, очень познавательно. Спасибо.
Человек умнее компьютера, но компьютер умнее программиста.

Оффлайн nickgric

  • Администратор
  • Старожил
  • *****
  • Сообщений: 371
  • Репутация: +201/-0
Re: Что означают номера банковских карт
« Ответ #2 : Февраль 02, 2014, 06:24:39 pm »
Про последнюю (контрольную) цифру знал, что она вычисляется на основании 15 предыдущих. Но прочитал с удовольствием, очень познавательно. Спасибо.

Плюсую, было интересно :-)
Пишу про приложения для iPad на http://madeforipad.ru.