2013-11-09 6 views
1

После Wikipedia, я разрабатываю приложение Java, которое вычисляет и проверяет IBAN из разных стран. Некоторые BBAN имеют национальную контрольную цифру, но я не могу найти документацию о том, как ее рассчитать. Где я могу найти алгоритм для «национальной контрольной цифры»? Меня не интересует «контрольная цифра iban», но по стране, связанной с ней.Как я могу рассчитать национальную контрольную цифру IBAN?

+0

Здесь возможно? [первый результат google для «как рассчитать цифру проверки iban»] (http://www.ibancalculator.com/calculation.html) –

+2

Ну, я говорю о «национальной контрольной цифре», а не о «контрольной цифре iban» ». – Tostis

ответ

0

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

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

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

+0

Спасибо за ваш ответ, но я уже нашел документы об итальянской и испанской национальной контрольной цифре. Возможно, я буду искать документацию на сайтах учреждений, таких как ABI (IT) или AEB (ES), но мне нужно сначала найти это правило для каждой страны. – Tostis

+0

Похоже, что вы нашли свой ответ. – Joni

+0

Я нашел свой вопрос;) – Tostis

6

Если вам необходимо построить/деконструкции испанский IBAN, Испания является страной, которая имеет два набора контрольных цифр, рассчитанных в порядке ниже: 45, 91

ES91 2100 0418 4502 0005 1332

COUNTRYCODE (2 символа 'ES') Контрольные цифры (2 знака) идентификатор банка (4-х символов) код Branch (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 < - второй набор контрольных цифр (улыбка)

+1

Где вы получили «числовой эквивалент E = 14, S = 28» ..? – Praditha

+0

Вы не можете получить числовое значение с помощью функции java, например Character.getNumericValue ('a') -> 10 – Joe

Смежные вопросы