🛠️

Whiz Tools

Build • Create • Innovate

Công cụ Tạo và Xác thực IBAN cho Kiểm tra và Xác minh

Tạo các số IBAN ngẫu nhiên tuân thủ định dạng hoặc xác thực các số IBAN hiện có với công cụ đơn giản của chúng tôi. Hoàn hảo cho việc kiểm tra các ứng dụng tài chính, phần mềm ngân hàng và mục đích giáo dục.

Công cụ tạo & xác thực IBAN

📚

Tài liệu

Công cụ tạo và xác thực IBAN

Giới thiệu

Công cụ Tạo và Xác thực Số Tài Khoản Ngân Hàng Quốc Tế (IBAN) là một công cụ toàn diện được thiết kế cho mục đích kiểm tra và xác minh trong các ứng dụng tài chính, phần mềm ngân hàng và các bối cảnh giáo dục. Ứng dụng thân thiện với người dùng này cung cấp hai tính năng thiết yếu: tạo ra các IBAN ngẫu nhiên nhưng tuân thủ định dạng và xác thực tính toàn vẹn cấu trúc của các IBAN do người dùng nhập vào. Dù bạn là một nhà phát triển đang kiểm tra phần mềm tài chính, một chuyên gia QA xác minh các ứng dụng ngân hàng, hay một nhà giáo dục đang giải thích các tiêu chuẩn ngân hàng quốc tế, công cụ này cung cấp một giải pháp đơn giản mà không cần cấu hình phức tạp hay tích hợp bên thứ ba.

IBAN (Số Tài Khoản Ngân Hàng Quốc Tế) là các định danh tài khoản tiêu chuẩn được sử dụng quốc tế để tạo điều kiện cho các giao dịch xuyên biên giới và giảm thiểu lỗi trong các chuyển tiền quốc tế. Mỗi IBAN bao gồm một mã quốc gia, các chữ số kiểm tra, và một số tài khoản ngân hàng cơ bản (BBAN) theo các định dạng cụ thể của từng quốc gia. Công cụ của chúng tôi hỗ trợ nhiều định dạng quốc gia và đảm bảo tất cả các IBAN được tạo ra đều vượt qua thuật toán xác thực MOD 97 được quy định trong tiêu chuẩn ISO 13616.

Cách thức hoạt động của IBAN

Cấu trúc và Định dạng IBAN

Một IBAN bao gồm tối đa 34 ký tự alphanumeric, mặc dù chiều dài chính xác thay đổi theo quốc gia. Cấu trúc tiêu chuẩn bao gồm:

  1. Mã Quốc Gia: Một mã hai chữ cái theo tiêu chuẩn ISO 3166-1 alpha-2 (ví dụ: DE cho Đức, GB cho Vương quốc Anh)
  2. Chữ Số Kiểm Tra: Hai chữ số được tính toán bằng thuật toán MOD 97 để xác thực IBAN
  3. Số Tài Khoản Ngân Hàng Cơ Bản (BBAN): Định dạng cụ thể của quốc gia có thể bao gồm:
    • Mã ngân hàng
    • Mã chi nhánh (mã phân loại)
    • Số tài khoản
    • Chữ số kiểm tra quốc gia

Ví dụ, một IBAN của Đức theo cấu trúc DE2!n8!n10!n trong đó:

  • DE là mã quốc gia
  • 2!n đại diện cho hai chữ số kiểm tra số
  • 8!n đại diện cho mã ngân hàng tám chữ số
  • 10!n đại diện cho số tài khoản mười chữ số

Các quốc gia khác nhau có các định dạng BBAN khác nhau, dẫn đến chiều dài IBAN khác nhau:

Quốc giaChiều dàiCấu trúcVí dụ
Đức (DE)22DE2!n8!n10!nDE89370400440532013000
Vương quốc Anh (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
Pháp (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
Tây Ban Nha (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
Ý (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

Thuật toán xác thực IBAN

Quá trình xác thực IBAN sử dụng thuật toán MOD 97 như được quy định trong tiêu chuẩn ISO 7064. Cách thức hoạt động như sau:

  1. Di chuyển bốn ký tự đầu tiên (mã quốc gia và chữ số kiểm tra) đến cuối IBAN
  2. Chuyển đổi tất cả các chữ cái thành số (A=10, B=11, ..., Z=35)
  3. Tính toán modulo 97 của số kết quả
  4. Nếu số dư bằng 1, IBAN là hợp lệ

Về mặt toán học, điều này được biểu diễn như sau:

Soˆˊ IBANmod97=1\text{Số IBAN} \bmod 97 = 1

Trình xác thực của chúng tôi thực hiện thuật toán này để xác minh tính toàn vẹn cấu trúc của bất kỳ IBAN nào do người dùng nhập vào.

Tính năng của công cụ

Tạo IBAN

Trình tạo IBAN tạo ra các IBAN ngẫu nhiên nhưng hợp lệ cho các mục đích thử nghiệm. Các tính năng chính bao gồm:

  • Chọn Quốc Gia: Chọn từ nhiều quốc gia được hỗ trợ bao gồm Đức, Vương quốc Anh, Pháp, Tây Ban Nha, Ý, Hà Lan, Thụy Sĩ, Áo, Bỉ và Ba Lan
  • Tuân thủ Định Dạng: Tất cả các IBAN được tạo ra đều theo các định dạng cụ thể của quốc gia và vượt qua xác thực MOD 97
  • Tạo Ngay: Ngay lập tức tạo các IBAN hợp lệ chỉ với một cú nhấp chuột
  • Sao Chép vào Clipboard: Dễ dàng sao chép các IBAN được tạo ra để sử dụng trong các tình huống thử nghiệm
  • Biểu Diễn Hình Ảnh: Xem một phân tích màu sắc của các thành phần IBAN (mã quốc gia, chữ số kiểm tra, chi tiết ngân hàng)

Trình tạo tạo ra các IBAN bằng cách:

  1. Chọn định dạng quốc gia phù hợp
  2. Tạo ra các chữ số ngẫu nhiên cho phần BBAN
  3. Tính toán các chữ số kiểm tra đúng bằng cách sử dụng thuật toán MOD 97
  4. Lắp ráp IBAN hoàn chỉnh

Xác thực IBAN

Trình xác thực IBAN kiểm tra tính toàn vẹn cấu trúc của các IBAN do người dùng nhập vào. Các tính năng chính bao gồm:

  • Xác Minh Định Dạng: Kiểm tra xem IBAN có tuân theo định dạng cụ thể của quốc gia hay không
  • Xác Thực MOD 97: Xác minh các chữ số kiểm tra bằng cách sử dụng thuật toán tiêu chuẩn
  • Phân Tích Chi Tiết: Hiển thị các thành phần của IBAN hợp lệ (mã quốc gia, chữ số kiểm tra, mã ngân hàng, số tài khoản)
  • Nhận Diện Lỗi: Cung cấp thông điệp lỗi cụ thể cho các IBAN không hợp lệ
  • Hỗ Trợ Định Dạng: Tự động định dạng các IBAN đã nhập để dễ đọc hơn

Trình xác thực thực hiện nhiều kiểm tra:

  1. Xác minh mã quốc gia được hỗ trợ
  2. Kiểm tra chiều dài IBAN so với yêu cầu của quốc gia
  3. Xác thực loại ký tự (chữ cái và số ở đúng vị trí)
  4. Thực hiện kiểm tra MOD 97 để xác minh các chữ số kiểm tra

Hướng dẫn từng bước

Tạo IBAN

  1. Truy Cập Tab Tạo: Nhấp vào tab "Tạo" (được chọn mặc định)
  2. Chọn Quốc Gia: Chọn quốc gia mong muốn từ menu thả xuống
  3. Tạo IBAN: Nhấp vào nút "Tạo IBAN"
  4. Xem Kết Quả: IBAN được tạo sẽ xuất hiện bên dưới với phân tích hình ảnh các thành phần
  5. Sao Chép vào Clipboard: Nhấp vào nút "Sao chép vào clipboard" để sao chép IBAN để sử dụng ở nơi khác

Xác thực IBAN

  1. Truy Cập Tab Xác Thực: Nhấp vào tab "Xác thực"
  2. Nhập IBAN: Gõ hoặc dán một IBAN vào trường nhập
    • Các khoảng trắng và định dạng sẽ được xử lý tự động
    • Công cụ chấp nhận cả IBAN đã định dạng (có khoảng trắng) và IBAN không định dạng
  3. Xem Kết Quả Xác Thực: Công cụ sẽ tự động xác thực IBAN khi bạn nhập
  4. Kiểm Tra Chi Tiết: Đối với các IBAN hợp lệ, một phân tích các thành phần sẽ được hiển thị
  5. Xem Xét Bất Kỳ Lỗi Nào: Đối với các IBAN không hợp lệ, các thông điệp lỗi cụ thể sẽ giúp xác định vấn đề

Các Trường Hợp Sử Dụng

Công cụ Tạo và Xác thực IBAN phục vụ nhiều mục đích trong các lĩnh vực khác nhau:

Phát Triển và Kiểm Tra Phần Mềm

  • Kiểm Tra API: Tạo ra các IBAN hợp lệ để kiểm tra các API tài chính mà không sử dụng các số tài khoản thực
  • Xác Thực Biểu Mẫu: Kiểm tra logic xác thực IBAN trong các biểu mẫu và ứng dụng web
  • Kiểm Tra Tình Huống Đặc Biệt: Xác minh cách các ứng dụng xử lý IBAN từ các quốc gia khác nhau
  • Kiểm Tra Hồi Quy: Đảm bảo việc xử lý IBAN vẫn chính xác sau các bản cập nhật phần mềm

Phát Triển Ứng Dụng Tài Chính

  • Hệ Thống Thanh Toán: Kiểm tra chức năng xử lý thanh toán quốc tế
  • Phần Mềm Ngân Hàng: Xác minh các thành phần phân tích và xác thực IBAN
  • Ứng Dụng Fintech: Đảm bảo tuân thủ các tiêu chuẩn ngân hàng quốc tế
  • Hệ Thống Cơ Sở Dữ Liệu: Kiểm tra việc lưu trữ và truy xuất dữ liệu IBAN

Mục Đích Giáo Dục

  • Giáo Dục Về Tiêu Chuẩn Ngân Hàng: Trình bày cách cấu trúc và xác thực IBAN
  • Giáo Dục Tài Chính: Dạy học sinh về các định danh ngân hàng quốc tế
  • Hướng Dẫn Lập Trình: Sử dụng như một ví dụ cho các thuật toán xác thực và xử lý dữ liệu tài chính
  • Tài Liệu Kỹ Thuật: Tạo ra các IBAN ví dụ cho tài liệu API

Di Chuyển và Chuyển Đổi Dữ Liệu

  • Di Chuyển Hệ Thống Cũ: Kiểm tra quy trình chuyển đổi IBAN khi nâng cấp hệ thống
  • Ẩn Danh Dữ Liệu: Tạo ra các IBAN thử nghiệm để thay thế các số tài khoản thực trong môi trường phát triển
  • Gieo Dữ Liệu Cơ Sở Dữ Liệu: Tạo ra dữ liệu thử nghiệm thực tế cho các cơ sở dữ liệu ứng dụng tài chính

Các Giải Pháp Thay Thế

Trong khi công cụ Tạo và Xác thực IBAN của chúng tôi cung cấp một trải nghiệm đơn giản cho các mục đích thử nghiệm, có một số phương pháp thay thế cần xem xét:

API Ngân Hàng Thương Mại

  • Ưu điểm: Cung cấp xác thực bổ sung chống lại các danh sách ngân hàng thực, cung cấp nhiều dịch vụ tài chính toàn diện hơn
  • Nhược điểm: Thường yêu cầu đăng ký, khóa API và công việc tích hợp; có thể có giới hạn sử dụng

Thư Viện IBAN cho Ngôn Ngữ Lập Trình

  • Ưu điểm: Có thể được tích hợp trực tiếp vào cơ sở mã của bạn, cung cấp quyền truy cập lập trình
  • Nhược điểm: Cần công việc phát triển để triển khai, có thể cần cập nhật thường xuyên để giữ cho các tiêu chuẩn hiện tại

Trình Xác Thực Ngân Hàng Chính Thức

  • Ưu điểm: Được cung cấp bởi các tổ chức tài chính, độ chính xác cao cho quốc gia cụ thể của họ
  • Nhược điểm: Thường chỉ giới hạn cho các quốc gia cụ thể, có thể không hỗ trợ các tính năng tạo

Tính Toán Thủ Công

  • Ưu điểm: Giúp hiểu thuật toán cơ bản, không phụ thuộc vào các công cụ bên ngoài
  • Nhược điểm: Tốn thời gian, dễ mắc lỗi do con người, không thực tế cho việc thử nghiệm quy mô lớn

Công cụ của chúng tôi cầu nối khoảng cách giữa các giải pháp thay thế này bằng cách cung cấp một giao diện đơn giản, dễ tiếp cận cho cả việc tạo và xác thực mà không cần tích hợp kỹ thuật hay đăng ký trả phí.

Câu Hỏi Thường Gặp

IBAN là gì?

IBAN (Số Tài Khoản Ngân Hàng Quốc Tế) là một hệ thống đánh số quốc tế tiêu chuẩn được phát triển để xác định các tài khoản ngân hàng qua biên giới quốc gia. Nó được thiết lập bởi Tổ chức Tiêu chuẩn Quốc tế (ISO) để tạo điều kiện cho các giao dịch quốc tế không có lỗi.

Trình tạo IBAN này chính xác đến mức nào?

Trình tạo IBAN tạo ra các IBAN có cấu trúc hợp lệ vượt qua thuật toán kiểm tra MOD 97 như được quy định trong tiêu chuẩn ISO 13616. Mặc dù các IBAN được tạo ra là hợp lệ về mặt toán học, nhưng chúng là ngẫu nhiên và không liên kết với các tài khoản ngân hàng thực, làm cho chúng hoàn hảo cho việc thử nghiệm nhưng không cho các giao dịch thực tế.

Các quốc gia nào được công cụ này hỗ trợ?

Công cụ hiện tại hỗ trợ các định dạng IBAN cho Đức, Vương quốc Anh, Pháp, Tây Ban Nha, Ý, Hà Lan, Thụy Sĩ, Áo, Bỉ và Ba Lan. Những quốc gia này bao gồm các định dạng IBAN được sử dụng phổ biến nhất ở châu Âu.

Tôi có thể sử dụng các IBAN được tạo ra cho các giao dịch thực tế không?

Không. Các IBAN được tạo ra bởi trình tạo này là hợp lệ về mặt cấu trúc nhưng được tạo ra ngẫu nhiên. Chúng không được kết nối với các tài khoản ngân hàng thực và chỉ nên được sử dụng cho các mục đích thử nghiệm, giáo dục hoặc trình diễn.

Xác thực IBAN hoạt động như thế nào?

Trình xác thực kiểm tra một số khía cạnh của IBAN:

  1. Tính hợp lệ của mã quốc gia
  2. Chiều dài đúng cho quốc gia được chỉ định
  3. Tính hợp lệ của loại ký tự (chữ cái và số ở đúng vị trí)
  4. Xác minh chữ số kiểm tra MOD 97 theo tiêu chuẩn ISO

Các khoảng trắng có quan trọng trong một IBAN không?

Không. Mặc dù các IBAN thường được hiển thị với các khoảng trắng để dễ đọc (thường là theo nhóm bốn ký tự), nhưng các khoảng trắng sẽ bị bỏ qua trong quá trình xác thực. Công cụ của chúng tôi xử lý cả IBAN đã định dạng (có khoảng trắng) và IBAN không định dạng.

Dữ liệu IBAN của tôi có được lưu trữ hoặc chia sẻ khi sử dụng công cụ này không?

Không. Công cụ này hoạt động hoàn toàn trong trình duyệt của bạn. Không có dữ liệu IBAN nào được gửi đến bất kỳ máy chủ nào, lưu trữ hoặc chia sẻ với bên thứ ba. Dữ liệu của bạn vẫn riêng tư và an toàn.

Tôi có thể xác thực các IBAN từ các quốc gia không có trong danh sách thả xuống không?

Hiện tại, công cụ chỉ xác thực các IBAN từ các quốc gia được hỗ trợ được liệt kê trong danh sách thả xuống. Nếu bạn cần xác thực cho các quốc gia bổ sung, vui lòng cho chúng tôi biết thông qua biểu mẫu phản hồi.

Tại sao một IBAN trông hợp lệ lại không vượt qua xác thực?

Một IBAN có thể không vượt qua xác thực vì một số lý do:

  • Chữ số kiểm tra không chính xác
  • Chiều dài sai cho quốc gia được chỉ định
  • Ký tự không hợp lệ ở các vị trí cụ thể
  • Lỗi đánh máy hoặc lỗi hoán vị
  • Mã quốc gia không được công cụ hỗ trợ

Làm thế nào tôi có thể báo cáo sự cố hoặc đề xuất cải tiến?

Chúng tôi hoan nghênh phản hồi để cải thiện công cụ. Vui lòng sử dụng biểu mẫu phản hồi có thể truy cập qua liên kết ở dưới cùng của trang để báo cáo bất kỳ sự cố nào hoặc đề xuất các cải tiến.

Triển Khai Kỹ Thuật

Đối với các nhà phát triển quan tâm đến việc triển khai xác thực và tạo IBAN trong các ứng dụng của riêng họ, dưới đây là các ví dụ mã trong nhiều ngôn ngữ lập trình:

Xác thực IBAN

1function validateIban(iban) {
2  // Xóa khoảng trắng và chuyển đổi thành chữ hoa
3  const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4  
5  // Kiểm tra định dạng cơ bản
6  if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7    return false;
8  }
9  
10  // Di chuyển bốn ký tự đầu tiên đến cuối
11  const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12  const converted = rearranged.split('').map(char => {
13    if (/[A-Z]/.test(char)) {
14      return (char.charCodeAt(0) - 55).toString();
15    }
16    return char;
17  }).join('');
18  
19  // Tính toán mod 97
20  let remainder = 0;
21  for (let i = 0; i < converted.length; i++) {
22    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23  }
24  
25  return remainder === 1;
26}
27
28// Ví dụ sử dụng
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (chữ số kiểm tra không hợp lệ)
32

Tạo IBAN

1function generateIban(countryCode) {
2  const countryFormats = {
3    'DE': { length: 22, bbanPattern: '8n10n' },
4    'GB': { length: 22, bbanPattern: '4a6n8n' },
5    'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6    // Thêm nhiều quốc gia nếu cần
7  };
8  
9  if (!countryFormats[countryCode]) {
10    throw new Error(`Mã quốc gia ${countryCode} không được hỗ trợ`);
11  }
12  
13  // Tạo BBAN ngẫu nhiên dựa trên định dạng quốc gia
14  let bban = '';
15  const pattern = countryFormats[countryCode].bbanPattern;
16  let i = 0;
17  
18  while (i < pattern.length) {
19    const count = parseInt(pattern.substring(i + 1), 10);
20    const type = pattern[i];
21    
22    if (type === 'n') {
23      // Tạo các ký tự số
24      for (let j = 0; j < count; j++) {
25        bban += Math.floor(Math.random() * 10);
26      }
27    } else if (type === 'a') {
28      // Tạo các ký tự chữ cái
29      for (let j = 0; j < count; j++) {
30        bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31      }
32    } else if (type === 'c') {
33      // Tạo các ký tự alphanumeric
34      for (let j = 0; j < count; j++) {
35        const isLetter = Math.random() > 0.5;
36        if (isLetter) {
37          bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38        } else {
39          bban += Math.floor(Math.random() * 10);
40        }
41      }
42    }
43    
44    i += 2;
45  }
46  
47  // Tính toán các chữ số kiểm tra
48  const checkDigits = calculateCheckDigits(countryCode, bban);
49  
50  return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54  // Tạo IBAN ban đầu với '00' là chữ số kiểm tra
55  const initialIban = countryCode + '00' + bban;
56  
57  // Sắp xếp lại và chuyển đổi chữ cái thành số
58  const rearranged = bban + countryCode + '00';
59  const converted = rearranged.split('').map(char => {
60    if (/[A-Z]/.test(char)) {
61      return (char.charCodeAt(0) - 55).toString();
62    }
63    return char;
64  }).join('');
65  
66  // Tính toán 98 trừ mod 97
67  let remainder = 0;
68  for (let i = 0; i < converted.length; i++) {
69    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70  }
71  
72  const checkDigits = (98 - remainder).toString().padStart(2, '0');
73  return checkDigits;
74}
75
76// Ví dụ sử dụng
77console.log(generateIban('DE')); // Tạo ra một IBAN hợp lệ của Đức
78console.log(generateIban('GB')); // Tạo ra một IBAN hợp lệ của Vương quốc Anh
79

Tài liệu tham khảo

  1. ISO 13616-1:2007 - "Dịch vụ tài chính - Số tài khoản ngân hàng quốc tế (IBAN) - Phần 1: Cấu trúc của IBAN"
  2. Ủy ban Tiêu chuẩn Ngân hàng Châu Âu (ECBS) - "IBAN: Số Tài Khoản Ngân Hàng Quốc Tế"
  3. SWIFT - "Sổ đăng ký IBAN"
  4. Ủy ban Thanh toán Châu Âu - "IBAN và Định danh Chủ nợ"
  5. Ngân hàng Thanh toán Quốc tế - "Hệ thống thanh toán, thanh toán và giải quyết"
  6. Ngân hàng Trung ương Châu Âu - "Khu vực Thanh toán Đồng Euro Đơn (SEPA)"
  7. ISO 9362 - "Ngân hàng - Tin nhắn viễn thông ngân hàng - Mã định danh doanh nghiệp (BIC)"
  8. ISO 7064 - "Công nghệ thông tin - Kỹ thuật bảo mật - Hệ thống ký tự kiểm tra"

Kết luận

Công cụ Tạo và Xác thực IBAN cung cấp một giải pháp đơn giản nhưng mạnh mẽ cho các mục đích thử nghiệm và giáo dục liên quan đến các định danh ngân hàng quốc tế. Bằng cách cung cấp cả khả năng tạo và xác thực trong một giao diện thân thiện với người dùng, nó loại bỏ nhu cầu về các cấu hình phức tạp hoặc tích hợp bên thứ ba.

Dù bạn đang phát triển các ứng dụng tài chính, kiểm tra các hệ thống thanh toán, hay học về các tiêu chuẩn ngân hàng quốc tế, công cụ này cung cấp một cách đơn giản để làm việc với IBAN. Việc xác thực toàn diện đảm bảo rằng tất cả các IBAN được tạo ra đều có cấu trúc hợp lệ và tuân thủ các tiêu chuẩn quốc tế.

Hãy thử tạo hoặc xác thực một IBAN ngay bây giờ để trải nghiệm khả năng của công cụ này!