Как я могу вычислить национальную контрольную цифру IBAN?

Следуя Википедии, я разрабатываю приложение на Java, которое рассчитывает и проверяет IBAN из разных стран. Некоторые BBAN имеют национальную контрольную цифру, но я не могу найти документацию о том, как ее вычислить. Где я могу найти алгоритм для "национальной контрольной цифры"? Я не заинтересован в "iban check check", но в стране, связанной с.

2 ответа

Решение

Национальная контрольная цифра определена в национальных стандартах, в каждой стране свой стандарт. В некоторых странах есть одна контрольная цифра, в других - две, а в других нет.

Например, номера банковских счетов в Испании имеют две контрольные цифры. Первый основан на 4-значных кодах филиала и офиса, а второй рассчитывается на основе 10-значного номера счета. Вы можете найти его в любом документе, связанном с банковской ИТ, например , здесь, но в основном вы умножаете каждую цифру на степень 2 mod 11, суммируете полученные цифры вместе и берете остаток от деления на 11. Википедия запись содержит пример кода для проверки и вычисления контрольных цифр.

Другие страны используют другие методы, например алгоритм Луна.

Когда вам нужно построить / деконструировать испанский Iban, Испания - это страна, которая имеет два набора контрольных цифр, рассчитанных в следующем порядке: 45, 91

ES91 2100 0418 4502 0005 1332

Код страны (2 символа "ES") Контрольные цифры (2 символа) Идентификатор банка (4 символа) Код отделения (4 символа) Контрольная цифра (2 символа) Номер счета (10 символов)

Пошаговое руководство 1. Сначала измените ES на его числовой эквивалент E=14, S=28 и добавьте это значение с 00, поэтому 142800 Теперь, чтобы получить первый набор контрольных цифр iban, добавьте номер счета к номер из шага 1: 0200051332142800

  1. Теперь мод 97 это значение, затем вычтите остаток из 98. 0200051332142800 мод 97 = 53, 98 - 53 = 45 <- первый набор контрольных цифр! (улыбка)

  2. Если вы получите одну цифру, она должна быть дополнена начальным нулем.

  3. Чтобы получить вторые контрольные цифры iban, добавьте идентификатор банка (2100) к идентификатору филиала (0418), затем номер счета, плюс первые контрольные цифры (450200051332), а затем значение из шага 1, всего: 21000418450200051332142800

  4. Опять мод 97 это значение, 21000418450200051332 мод 97 = 7, 98 -7 = 91 <- второй набор контрольных цифр (улыбается)

Другие вопросы по тегам