如何计算IBAN国家校验位?

Tos*_*tis 1 java iban check-digit

Wikipedia之后,我正在开发一个Java应用程序,用于计算和验证来自不同国家的IBAN.有些BBAN有一个国家校验位,但我找不到任何关于如何计算它的文档.在哪里可以找到"国家校验位"的算法?我对"iban check digit"不感兴趣,但对国家相关的数字感兴趣.

小智 6

当您需要建造/解构西班牙伊班时,西班牙是一个有两组校验位的国家,按以下顺序计算: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. 现在mod 97该值,然后从98减去余数.0200051332142800 mod 97 = 53,98 - 53 = 45 < - 第一组校验位!(微笑)

  2. 如果你最终得到一个数字,它应该用前导零填充.

  3. 要获得第二个iban校验位,请将银行ID(2100)附加到分支ID(0418),然后是帐号,加上第一个校验位(450200051332),然后是步骤1中的值,总计:21000418450200051332142800

  4. 同样mod 97那个值,21000418450200051332 mod 97 = 7,98 -7 = 91 < - 第二组校验位(笑)