java - 如何计算 IBAN 国家校验码?

标签 java check-digit iban

正在关注 Wikipedia ,我正在开发一个 Java 应用程序来计算和验证来自不同国家的 IBAN。一些 BBAN 有国家校验码,但我找不到任何关于如何计算它的文档。我在哪里可以找到“国家校验位”的算法? 我对“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. 现在 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 <- 第二组校验位(微笑)

关于java - 如何计算 IBAN 国家校验码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19881332/

相关文章:

java - oracle中如何给触发器发送参数

VbScript 使用 mod97 验证 IBAN(数字太大)

java - 如何使用 IntelliJ IDEA 查找所有未使用的代码?

java - FileInputStream 逐字节或 block 读取?

java - 二维数组中的元素总数

java - 如何生成 CUSIP 校验位

algorithm - 逆向工程校验位算法

javascript - 单字符签名方案(最低安全性)

oracle - 在 PL/SQL 中验证 IBAN

IBAN 的正则表达式允许空格并检查精确长度