Iban,是什么

国际银行账户号码(International Bank Account Number,简称IBAN)是各国各银行之间互相订立的标识号码,可降低国际间金融操作的失误。它最初是由欧洲银行标准委员会(ECBS)通过,后来被采纳为国际标准 ISO 13616:1997。目前的标准是ISO 13616:2007,表明SWIFT代码(ISO 9362)为正式的格式。最初开发是为了促进欧盟范围内的支付,但现在也已经实施到大多数欧洲国家和其他国家,尤其是在中东和加勒比海地区。

IBAN最多包含34个字母和数字字符:首两个字母是ISO 3166-1α-2国家代码,然后两个校验位,校验位可检查完整性。最后一个是特定国家的基本银行账户号码(BBAN)。BBAN格式的决定是由每个国家的银行界的约束下,它必须是一个固定长度的不区分大小写的英数字。它包括国内银行账户号码、银行分行的号码和潜在的路由信息。

国际银行账户号码(IBAN)由三部分组成。

IBAN最长可达34位,打印时每4位为一组,并插入空白。由于BBAN没有固定长度,因此最后一组数字不一定是4位。

国家IBAN结构例子比利时BE71 0961 2345 6769法国FR76 3000 6000 0112 3456 7890 189德国DE91 1000 0000 0123 4567 89希腊GR96 0810 0010 0000 0123 4567 890巴基斯坦PK00 BANK 0000 1234 5678 9000罗马尼亚RO09 BCYP 0000 0012 3456 7890沙特阿拉伯SA44 2000 0001 2345 6789 1234西班牙ES79 2100 0813 6101 2345 6789瑞士CH56 0483 5012 3456 7800 9英国GB98 MIDL 0700 9312 3456 78

BBAN[编辑]

基本银行账户号码(Basic Bank Account Number,BBAN)的格式是由国家中央银行或相应机关所订定,格式并没有强制性。一国的基本银行账户号码须为固定长度且由大小写不敏感的英数字组成。其包括本国账户号码、子分支识别码与路径信息。各国皆可拥有不同的编号系统,最多三十字。

验证IBAN[编辑]

IBAN转换成一整数后再取97的余数为1才为有效(规范于ISO 7064)。检验IBAN的步骤如下:

  1. 检查IBAN总长度是否对应于该国家,否则为无效IBAN。
  2. 将首四码移至字符串末端。
  3. 以数字替代字符串中字母,加长字符串。A转成10,B转成11,以此类推。
  4. 新产生的数字除以97,若余数为1,则校对通过,该IBAN可能存在。

示例为一间虚拟英国银行,分类码为12-34-56,账户号码为98765432:

步骤字符串计算• IBAN:GB82 WEST 1234 5698 7654 32• 整理:W E S T12345698765432 G B82• 转为整数:3214282912345698765432161182• 计算余数:3214282912345698765432161182mod 97 = 1

产生 IBAN校对码[编辑]

根据欧洲银行标准委员会,银行应负责产生其账户的IBAN。所需算法为:

  1. 检查IBAN总长度对应于该国家。
  2. 以00代换两校对码。(如GB82代换成GB00)
  3. 将首四码移至字符串末端。
  4. 以数字替代字符串中字母,加长字符串。A转成10,B转成11,以此类推。
  5. 将字符串转换为一整数,省略在前面的0。
  6. 新产生的数字除以97,产生余数。
  7. 将98减去余数,产生的数字成为校对码。假如结果为一位数字,前面补上零。

实用性[编辑]

检查数字,使从一个单一的数据串在输入数据时的路由目标和账户号码发送银行(或客户)进行完整性检查。此检查是保证检测到在某一字符被忽略、重复、打错或两个字符被调换时能够发现。因此,路由和账号错误几乎不会同时发生。

IBAN以电子方式发送时不能包含空格,而印在纸上的IBAN以一组四个字分隔,最后一组长度不固定,如下面的例子所示:

国家IBAN 格式例子希腊FR76 3000 6000 0112 3456 7890 1890英国FR76 3000 6000 0112 3456 7890 1891沙特阿拉伯FR76 3000 6000 0112 3456 7890 1892瑞士FR76 3000 6000 0112 3456 7890 1893以色列FR76 3000 6000 0112 3456 7890 1894

调试[编辑]

透过取模,以下常见错误可被侦测到:

  • 任何单一置换错误(一数字遭替代,如 4234 变 1234)
  • 任何或将近任何单一发送错误 (相邻或间隔一位的两数字位置交换,如 12354 与 12543 与 12345).

有鉴于国际银行账户号码使用“取模-97”,前述错误都会被侦测到。

  • 任何或将近任何移动错误 (整个字符串向右或向左移动)
  • 以相当高的比率侦测出双置换错误(两个单一置换错误。如 7234587 与 1234567)
  • 高比例的其他错误

各国 IBAN格式[编辑]

此表格简述各国之IBAN的格式:[1]

  • 于ISO两位国家代码之后的 kk 表示由IBAN其他字母计算而得的校对码。假如目前有疑虑,将于 Comments 列中指出。此状况存在于当 BBAN 之校对码使用和 IBAN校对码一样的算法。

BBAN列为IBAN中之BBAN部分的格式。大写字母 (A–Z) 以 "a"表示,数字 (0–9) 以 "n" 表示,不分大小写文数字 (a–z, A–Z, 0–9) 以 “c"。例如,保加利亚 BBAN (4a,6n,8c) 包含 4 大写字母,接着为6数字,再来为 8 不分大小写文数字。

國際銀行帳戶號碼(International Bank Account Number,简称IBAN)是各國各銀行之間互相訂立的標識號碼,可降低國際間金融操作的失誤。它最初是由歐洲銀行標準委員會(ECBS)通過,後來被採納為國際標準 ISO 13616:1997。目前的標準是ISO 13616:2007,表明SWIFT代碼(ISO 9362)為正式的格式。最初開發是為了促進歐盟範圍內的支付,但現在也已經實施到大多數歐洲國家和其他國家,尤其是在中東和加勒比海地區。

IBAN最多包含34個字母和數字字符:首兩個字母是ISO 3166-1α-2國家代碼,然後兩個校驗位,校驗位可檢查完整性。最後一個是特定國家的基本銀行帳戶號碼(BBAN)。BBAN格式的決定是由每個國家的銀行界的約束下,它必須是一個固定長度的不區分大小寫的英數字。它包括國內銀行账户號碼、銀行分行的號碼和潛在的路由信息。

國際銀行帳戶號碼(IBAN)由三部分組成。

IBAN最長可達34位,打印時每4位為一組,並插入空白。由於BBAN沒有固定長度,因此最後一組數字不一定是4位。

國家IBAN結構例子比利時BE71 0961 2345 6769法國FR76 3000 6000 0112 3456 7890 189德國DE91 1000 0000 0123 4567 89希臘GR96 0810 0010 0000 0123 4567 890巴基斯坦PK00 BANK 0000 1234 5678 9000羅馬尼亞RO09 BCYP 0000 0012 3456 7890沙特阿拉伯SA44 2000 0001 2345 6789 1234西班牙ES79 2100 0813 6101 2345 6789瑞士CH56 0483 5012 3456 7800 9英國GB98 MIDL 0700 9312 3456 78

BBAN[编辑]

基本銀行帳戶號碼(Basic Bank Account Number,BBAN)的格式是由國家中央銀行或相應機關所訂定,格式並沒有強制性。一國的基本銀行帳戶號碼須為固定長度且由大小寫不敏感的英數字組成。其包括本國帳戶號碼、子分支辨識碼與路徑資訊。各國皆可擁有不同的編號系統,最多三十字。

驗證IBAN[编辑]

IBAN轉換成一整數後再取97的餘數為1才為有效(規範於ISO 7064)。檢驗IBAN的步驟如下:

  1. 檢查IBAN總長度是否對應於該國家,否則為無效IBAN。
  2. 將首四碼移至字串末端。
  3. 以數字替代字串中字母,加長字串。A轉成10,B轉成11,以此類推。
  4. 新產生的數字除以97,若餘數為1,則校對通過,該IBAN可能存在。

範例為一間虛擬英國銀行,分類碼為12-34-56,帳戶號碼為98765432:

步驟字串計算• IBAN:GB82 WEST 1234 5698 7654 32• 整理:W E S T12345698765432 G B82• 轉為整數:3214282912345698765432161182• 計算餘數:3214282912345698765432161182mod 97 = 1

產生 IBAN校對碼[编辑]

根據歐洲銀行標準委員會,銀行應負責產生其帳戶的IBAN。所需演算法為:

  1. 檢查IBAN總長度對應於該國家。
  2. 以00代換兩校對碼。(如GB82代換成GB00)
  3. 將首四碼移至字串末端。
  4. 以數字替代字串中字母,加長字串。A轉成10,B轉成11,以此類推。
  5. 將字串轉換為一整數,省略在前面的0。
  6. 新產生的數字除以97,產生餘數。
  7. 將98減去餘數,產生的數字成為校對碼。假如結果為一位數字,前面補上零。

實用性[编辑]

檢查數字,使從一個單一的數據串在輸入數據時的路由目標和帳戶號碼發送銀行(或客戶)進行完整性檢查。此檢查是保證檢測到在某一字符被忽略、重複、打錯或兩個字符被調換時能夠發現。因此,路由和帳號錯誤幾乎不會同時發生。

IBAN以電子方式傳送時不能包含空格,而印在紙上的IBAN以一組四個字分隔,最後一組長度不固定,如下面的例子所示:

國家IBAN 格式例子希臘FR76 3000 6000 0112 3456 7890 1890英國FR76 3000 6000 0112 3456 7890 1891沙特阿拉伯FR76 3000 6000 0112 3456 7890 1892瑞士FR76 3000 6000 0112 3456 7890 1893以色列FR76 3000 6000 0112 3456 7890 1894

偵錯[编辑]

透過取模,以下常見錯誤可被偵測到:

  • 任何單一置換錯誤(一數字遭替代,如 4234 變 1234)
  • 任何或將近任何單一傳送錯誤 (相鄰或間隔一位的兩數字位置交換,如 12354 與 12543 與 12345).

有鑒於國際銀行帳戶號碼使用「取模-97」,前述錯誤都會被偵測到。

  • 任何或將近任何移動錯誤 (整個字串向右或向左移動)
  • 以相當高的比率偵測出雙置換錯誤(兩個單一置換錯誤。如 7234587 與 1234567)
  • 高比例的其他錯誤

各國 IBAN格式[编辑]

此表格簡述各國之IBAN的格式:[1]

  • 於ISO兩位國家代碼之後的 kk 表示由IBAN其他字母計算而得的校對碼。假如目前有疑慮,將於 Comments 列中指出。此狀況存在於當 BBAN 之校對碼使用和 IBAN校對碼一樣的演算法。

BBAN列為IBAN中之BBAN部分的格式。大寫字母 (A–Z) 以 "a"表示,數字 (0–9) 以 "n" 表示,不分大小寫文數字 (a–z, A–Z, 0–9) 以 “c"。例如,保加利亞 BBAN (4a,6n,8c) 包含 4 大寫字母,接著為6數字,再來為 8 不分大小寫文數字。