在Wikipedia之后,我正在开发一个 Java 应用程序来计算和验证来自不同国家的 IBAN。一些 BBAN 有一个国家校验位,但我找不到任何关于如何计算它的文档。我在哪里可以找到“国家校验位”的算法?我对“iban check digit”不感兴趣,但对与国家相关的数字不感兴趣。
问问题
16340 次
2 回答
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
现在 mod 97 该值,然后从 98 中减去余数。 0200051332142800 mod 97 = 53, 98 - 53 = 45 <- 第一组校验位!(微笑)
如果您以一位数字结尾,则应使用前导零填充。
要获得第二个 iban 校验位,请将银行 ID(2100)附加到分行 ID(0418),然后是帐号,加上第一个校验位(450200051332),然后是步骤 1 中的值,总计:21000418450200051332142800
再次 mod 97 该值,21000418450200051332 mod 97 = 7, 98 -7 = 91 <- 第二组校验位(微笑)
于 2014-02-28T09:43:22.810 回答