Alat Pembuat dan Validator IBAN untuk Pengujian dan Verifikasi
Buat IBAN acak yang sesuai dengan format atau validasi yang sudah ada dengan alat sederhana kami. Sempurna untuk menguji aplikasi keuangan, perangkat lunak perbankan, dan tujuan pendidikan.
Generator & Validator IBAN
Dokumentasi
Alat Pembuat dan Validator IBAN
Pendahuluan
Alat Pembuat dan Validator Nomor Rekening Bank Internasional (IBAN) adalah alat komprehensif yang dirancang untuk tujuan pengujian dan verifikasi dalam aplikasi keuangan, perangkat lunak perbankan, dan konteks pendidikan. Aplikasi yang ramah pengguna ini menawarkan dua fitur penting: menghasilkan IBAN yang acak namun sesuai format dan memvalidasi integritas struktural IBAN yang dimasukkan oleh pengguna. Baik Anda seorang pengembang yang menguji perangkat lunak keuangan, spesialis QA yang memverifikasi aplikasi perbankan, atau pendidik yang menjelaskan standar perbankan internasional, alat ini menyediakan solusi yang langsung tanpa memerlukan konfigurasi kompleks atau integrasi pihak ketiga.
IBAN (Nomor Rekening Bank Internasional) adalah pengenal rekening yang distandarisasi yang digunakan secara internasional untuk memfasilitasi transaksi lintas batas dan mengurangi kesalahan dalam transfer uang internasional. Setiap IBAN terdiri dari kode negara, digit cek, dan nomor rekening bank dasar (BBAN) yang mengikuti format spesifik negara. Alat kami mendukung beberapa format negara dan memastikan semua IBAN yang dihasilkan lulus algoritma validasi MOD 97 yang ditentukan dalam standar ISO 13616.
Cara Kerja IBAN
Struktur dan Format IBAN
Sebuah IBAN terdiri dari hingga 34 karakter alfanumerik, meskipun panjang yang tepat bervariasi menurut negara. Struktur standar mencakup:
- Kode Negara: Kode dua huruf ISO 3166-1 alpha-2 (misalnya, DE untuk Jerman, GB untuk Inggris Raya)
- Digit Cek: Dua digit yang dihitung menggunakan algoritma MOD 97 untuk memvalidasi IBAN
- Nomor Rekening Bank Dasar (BBAN): Format spesifik negara yang mungkin mencakup:
- Kode bank
- Kode cabang (kode sort)
- Nomor rekening
- Digit cek nasional
Sebagai contoh, IBAN Jerman mengikuti struktur DE2!n8!n10!n
di mana:
DE
adalah kode negara2!n
mewakili dua digit numerik cek8!n
mewakili kode bank delapan digit10!n
mewakili nomor rekening sepuluh digit
Negara yang berbeda memiliki format BBAN yang berbeda, yang menghasilkan panjang IBAN yang bervariasi:
Negara | Panjang | Struktur | Contoh |
---|---|---|---|
Jerman (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Inggris Raya (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Prancis (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spanyol (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Algoritma Validasi IBAN
Proses validasi IBAN menggunakan algoritma MOD 97 seperti yang ditentukan dalam standar ISO 7064. Berikut cara kerjanya:
- Pindahkan empat karakter pertama (kode negara dan digit cek) ke akhir IBAN
- Ubah semua huruf menjadi angka (A=10, B=11, ..., Z=35)
- Hitung modulo 97 dari angka yang dihasilkan
- Jika sisa sama dengan 1, IBAN valid
Secara matematis, ini direpresentasikan sebagai:
Validator kami menerapkan algoritma ini untuk memverifikasi integritas struktural dari IBAN yang dimasukkan oleh pengguna.
Fitur Alat
Pembuat IBAN
Pembuat IBAN membuat IBAN yang acak namun valid untuk tujuan pengujian. Fitur utama termasuk:
- Pemilihan Negara: Pilih dari beberapa negara yang didukung termasuk Jerman, Inggris Raya, Prancis, Spanyol, Italia, Belanda, Swiss, Austria, Belgia, dan Polandia
- Kepatuhan Format: Semua IBAN yang dihasilkan mengikuti format spesifik negara dan lulus validasi MOD 97
- Generasi Satu Klik: Segera buat IBAN yang valid dengan satu klik tombol
- Salin ke Papan Klip: Mudah menyalin IBAN yang dihasilkan untuk digunakan dalam skenario pengujian
- Representasi Visual: Lihat pemecahan komponen IBAN yang diberi warna (kode negara, digit cek, detail bank)
Pembuat menghasilkan IBAN dengan:
- Memilih format negara yang sesuai
- Menghasilkan angka acak untuk bagian BBAN
- Menghitung digit cek yang benar menggunakan algoritma MOD 97
- Merakit IBAN lengkap
Validator IBAN
Validator IBAN memeriksa integritas struktural dari IBAN yang dimasukkan oleh pengguna. Fitur utama termasuk:
- Verifikasi Format: Memeriksa apakah IBAN mengikuti format spesifik negara yang benar
- Validasi MOD 97: Memverifikasi digit cek menggunakan algoritma standar
- Pemecahan Detail: Menampilkan komponen IBAN yang valid (kode negara, digit cek, kode bank, nomor rekening)
- Identifikasi Kesalahan: Memberikan pesan kesalahan spesifik untuk IBAN yang tidak valid
- Bantuan Pemformatan: Secara otomatis memformat IBAN yang dimasukkan untuk keterbacaan yang lebih baik
Validator melakukan beberapa pemeriksaan:
- Memverifikasi bahwa kode negara didukung
- Memeriksa panjang IBAN sesuai dengan persyaratan negara
- Memvalidasi jenis karakter (huruf dan angka di posisi yang benar)
- Melakukan pemeriksaan MOD 97 untuk memverifikasi digit cek
Panduan Langkah demi Langkah
Menghasilkan IBAN
- Akses Tab Pembuat: Klik pada tab "Pembuat" (terpilih secara default)
- Pilih Negara: Pilih negara yang diinginkan dari menu dropdown
- Hasilkan IBAN: Klik tombol "Hasilkan IBAN"
- Lihat Hasil: IBAN yang dihasilkan akan muncul di bawah dengan pemecahan visual komponen-komponennya
- Salin ke Papan Klip: Klik tombol "Salin ke papan klip" untuk menyalin IBAN untuk digunakan di tempat lain
Memvalidasi IBAN
- Akses Tab Validator: Klik pada tab "Validator"
- Masukkan IBAN: Ketik atau tempel IBAN ke dalam kolom input
- Spasi dan pemformatan akan ditangani secara otomatis
- Alat ini menerima IBAN yang diformat (dengan spasi) dan IBAN yang tidak diformat
- Lihat Hasil Validasi: Alat akan secara otomatis memvalidasi IBAN saat Anda mengetik
- Periksa Detail: Untuk IBAN yang valid, pemecahan komponen akan ditampilkan
- Tinjau Kesalahan: Untuk IBAN yang tidak valid, pesan kesalahan spesifik akan membantu mengidentifikasi masalah
Kasus Penggunaan
Alat Pembuat dan Validator IBAN melayani berbagai tujuan di berbagai domain:
Pengembangan dan Pengujian Perangkat Lunak
- Pengujian API: Menghasilkan IBAN yang valid untuk menguji API keuangan tanpa menggunakan nomor rekening yang sebenarnya
- Validasi Formulir: Menguji logika validasi IBAN dalam formulir web dan aplikasi
- Pengujian Kasus Tepi: Memverifikasi bagaimana aplikasi menangani IBAN dari negara yang berbeda
- Pengujian Regresi: Memastikan penanganan IBAN tetap benar setelah pembaruan perangkat lunak
Pengembangan Aplikasi Keuangan
- Sistem Pembayaran: Menguji fungsionalitas pemrosesan pembayaran internasional
- Perangkat Lunak Perbankan: Memverifikasi komponen pemrosesan dan validasi IBAN
- Aplikasi Fintech: Memastikan kepatuhan terhadap standar perbankan internasional
- Sistem Basis Data: Menguji penyimpanan dan pengambilan data IBAN
Tujuan Pendidikan
- Pendidikan Standar Perbankan: Mendemonstrasikan bagaimana IBAN disusun dan divalidasi
- Literasi Keuangan: Mengajarkan siswa tentang pengenal perbankan internasional
- Tutorial Pemrograman: Menggunakan sebagai contoh untuk algoritma validasi dan penanganan data keuangan
- Dokumentasi Teknis: Menghasilkan contoh IBAN untuk dokumentasi API
Migrasi dan Konversi Data
- Migrasi Sistem Warisan: Menguji proses konversi IBAN saat meningkatkan sistem
- Anonymisasi Data: Menghasilkan IBAN uji untuk menggantikan nomor rekening yang sebenarnya di lingkungan pengembangan
- Pengisian Basis Data: Membuat data uji yang realistis untuk basis data aplikasi keuangan
Alternatif
Sementara alat Pembuat dan Validator IBAN kami menawarkan pengalaman yang terstruktur untuk tujuan pengujian, ada pendekatan alternatif yang perlu dipertimbangkan:
API Perbankan Komersial
- Kelebihan: Menawarkan validasi tambahan terhadap registri bank yang sebenarnya, menyediakan layanan keuangan yang lebih komprehensif
- Kekurangan: Biasanya memerlukan langganan, kunci API, dan pekerjaan integrasi; mungkin memiliki batasan penggunaan
Perpustakaan IBAN untuk Bahasa Pemrograman
- Kelebihan: Dapat diintegrasikan langsung ke dalam basis kode Anda, menawarkan akses programatik
- Kekurangan: Memerlukan pekerjaan pengembangan untuk diimplementasikan, mungkin perlu pembaruan reguler untuk tetap sesuai dengan standar
Validator Resmi Bank
- Kelebihan: Disediakan oleh lembaga keuangan, akurasi tinggi untuk negara spesifik mereka
- Kekurangan: Biasanya terbatas pada negara tertentu, mungkin tidak mendukung fitur generasi
Perhitungan Manual
- Kelebihan: Membantu memahami algoritma yang mendasari, tidak ada ketergantungan pada alat eksternal
- Kekurangan: Memakan waktu, rentan terhadap kesalahan manusia, tidak praktis untuk pengujian dalam skala besar
Alat kami menjembatani kesenjangan antara alternatif-alternatif ini dengan menyediakan antarmuka yang sederhana dan dapat diakses untuk baik generasi maupun validasi tanpa memerlukan integrasi teknis atau langganan berbayar.
Pertanyaan yang Sering Diajukan
Apa itu IBAN?
IBAN (Nomor Rekening Bank Internasional) adalah sistem penomoran internasional yang distandarisasi yang dikembangkan untuk mengidentifikasi rekening bank di seluruh perbatasan nasional. Ini ditetapkan oleh Organisasi Internasional untuk Standardisasi (ISO) untuk memfasilitasi transaksi internasional yang bebas kesalahan.
Seberapa akurat pembuat IBAN ini?
Pembuat IBAN membuat IBAN yang valid secara struktural yang lulus algoritma cek MOD 97 seperti yang ditentukan dalam standar ISO 13616. Meskipun IBAN yang dihasilkan valid secara matematis, mereka acak dan tidak terhubung ke rekening bank yang sebenarnya, sehingga sempurna untuk pengujian tetapi tidak untuk transaksi nyata.
Negara mana yang didukung oleh alat ini?
Alat ini saat ini mendukung format IBAN untuk Jerman, Inggris Raya, Prancis, Spanyol, Italia, Belanda, Swiss, Austria, Belgia, dan Polandia. Ini mencakup format IBAN yang paling umum digunakan di Eropa.
Bisakah saya menggunakan IBAN yang dihasilkan untuk transaksi nyata?
Tidak. IBAN yang dibuat oleh pembuat ini valid secara struktural tetapi dihasilkan secara acak. Mereka tidak terhubung ke rekening bank yang sebenarnya dan hanya boleh digunakan untuk tujuan pengujian, pendidikan, atau demonstrasi.
Bagaimana cara kerja validasi IBAN?
Validator memeriksa beberapa aspek dari sebuah IBAN:
- Validitas kode negara
- Panjang yang benar untuk negara yang ditentukan
- Validitas jenis karakter (huruf dan angka di posisi yang benar)
- Verifikasi digit cek MOD 97 sesuai dengan standar ISO
Apakah spasi penting dalam IBAN?
Tidak. Meskipun IBAN sering ditampilkan dengan spasi untuk keterbacaan (biasanya dalam grup empat karakter), spasi diabaikan selama validasi. Alat kami menangani IBAN yang diformat dan tidak diformat.
Apakah data IBAN saya disimpan atau dibagikan saat menggunakan alat ini?
Tidak. Alat ini beroperasi sepenuhnya di browser Anda. Tidak ada data IBAN yang dikirim ke server mana pun, disimpan, atau dibagikan dengan pihak ketiga. Data Anda tetap pribadi dan aman.
Bisakah saya memvalidasi IBAN dari negara yang tidak ada dalam daftar dropdown?
Saat ini, alat hanya memvalidasi IBAN dari negara yang didukung yang terdaftar dalam dropdown. Jika Anda memerlukan validasi untuk negara tambahan, silakan beri tahu kami melalui formulir umpan balik.
Mengapa IBAN yang tampak valid mungkin gagal validasi?
IBAN mungkin gagal validasi karena beberapa alasan:
- Digit cek yang salah
- Panjang yang salah untuk negara yang ditentukan
- Karakter tidak valid di posisi tertentu
- Typo atau kesalahan transposisi
- Kode negara tidak didukung oleh alat
Bagaimana saya dapat melaporkan masalah atau menyarankan perbaikan?
Kami menyambut umpan balik untuk meningkatkan alat. Silakan gunakan formulir umpan balik yang dapat diakses melalui tautan di bagian bawah halaman untuk melaporkan masalah atau menyarankan peningkatan.
Implementasi Teknis
Bagi pengembang yang tertarik untuk menerapkan validasi dan generasi IBAN dalam aplikasi mereka sendiri, berikut adalah contoh kode dalam berbagai bahasa pemrograman:
Validasi IBAN
1function validateIban(iban) {
2 // Hapus spasi dan ubah menjadi huruf besar
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Periksa format dasar
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Susun ulang dan ubah huruf menjadi angka
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 // Hitung 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// Contoh penggunaan
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 (digit cek tidak valid)
32
1def validate_iban(iban):
2 # Hapus spasi dan ubah menjadi huruf besar
3 iban = iban.replace(' ', '').upper()
4
5 # Periksa format dasar
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Pindahkan 4 karakter pertama ke akhir
10 rearranged = iban[4:] + iban[:4]
11
12 # Ubah huruf menjadi angka (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # Periksa apakah mod 97 sama dengan 1
21 return int(converted) % 97 == 1
22
23# Contoh penggunaan
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (digit cek tidak valid)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Hapus spasi dan ubah menjadi huruf besar
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Periksa format dasar
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Pindahkan 4 karakter pertama ke akhir
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Ubah huruf menjadi angka
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // Hitung mod 97
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
Generasi 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 // Tambahkan lebih banyak negara sesuai kebutuhan
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Kode negara ${countryCode} tidak didukung`);
11 }
12
13 // Hasilkan BBAN acak berdasarkan format negara
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 // Hasilkan karakter numerik
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Hasilkan karakter alfabetik
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 // Hasilkan karakter alfanumerik
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 // Hitung digit cek
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Buat IBAN awal dengan '00' sebagai digit cek
55 const initialIban = countryCode + '00' + bban;
56
57 // Susun ulang dan ubah huruf menjadi angka
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 // Hitung 98 minus 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// Contoh penggunaan
77console.log(generateIban('DE')); // Menghasilkan IBAN Jerman yang valid
78console.log(generateIban('GB')); // Menghasilkan IBAN Inggris Raya yang valid
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # Tambahkan lebih banyak negara sesuai kebutuhan
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Kode negara {country_code} tidak didukung")
14
15 # Hasilkan BBAN acak berdasarkan format negara
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # Numerik
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alfabetik
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumerik
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Hitung digit cek
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # Buat string untuk perhitungan digit cek
40 check_string = bban + country_code + '00'
41
42 # Ubah huruf menjadi angka (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # Hitung 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Contoh penggunaan
57print(generate_iban('DE')) # Menghasilkan IBAN Jerman yang valid
58print(generate_iban('GB')) # Menghasilkan IBAN Inggris Raya yang valid
59
Referensi
- ISO 13616-1:2007 - "Layanan keuangan - Nomor rekening bank internasional (IBAN) - Bagian 1: Struktur IBAN"
- European Committee for Banking Standards (ECBS) - "IBAN: Nomor Rekening Bank Internasional"
- SWIFT - "Registri IBAN"
- European Payments Council - "IBAN dan Pengenal Kreditur"
- Bank for International Settlements - "Sistem pembayaran, penyelesaian dan penyelesaian"
- European Central Bank - "Area Pembayaran Euro Tunggal (SEPA)"
- ISO 9362 - "Perbankan - Pesan telekomunikasi perbankan - Kode pengenal bisnis (BIC)"
- ISO 7064 - "Teknologi informasi - Teknik keamanan - Sistem karakter cek"
Kesimpulan
Alat Pembuat dan Validator IBAN menyediakan solusi yang sederhana namun kuat untuk tujuan pengujian dan pendidikan terkait pengenal perbankan internasional. Dengan menawarkan kemampuan baik untuk generasi maupun validasi dalam antarmuka yang ramah pengguna, alat ini menghilangkan kebutuhan akan konfigurasi kompleks atau integrasi pihak ketiga.
Baik Anda mengembangkan aplikasi keuangan, menguji sistem pembayaran, atau belajar tentang standar perbankan internasional, alat ini menawarkan cara yang langsung untuk bekerja dengan IBAN. Validasi komprehensif memastikan bahwa semua IBAN yang dihasilkan secara struktural sehat dan sesuai dengan standar internasional.
Cobalah menghasilkan atau memvalidasi IBAN sekarang untuk mengalami kemampuan alat ini secara langsung!
Umpan Balik
Klik toast umpan balik untuk mulai memberikan umpan balik tentang alat ini
Alat Terkait
Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda