Instrument de Generare și Validare IBAN pentru Testare și Verificare
Creează IBAN-uri aleatorii conforme cu formatul sau validează cele existente cu instrumentul nostru simplu. Perfect pentru testarea aplicațiilor financiare, software-ului bancar și scopuri educaționale.
Generator și Validator IBAN
Documentație
Generator și Validator IBAN
Introducere
Generatorul și Validatorul de Numere de Cont Bancar Internațional (IBAN) este un instrument cuprinzător conceput pentru scopuri de testare și verificare în aplicații financiare, software bancar și contexte educaționale. Această aplicație prietenoasă cu utilizatorul oferă două funcții esențiale: generarea de IBAN-uri aleatorii, dar conforme cu formatul, și validarea integrității structurale a IBAN-urilor introduse de utilizatori. Indiferent dacă ești un dezvoltator care testează software financiar, un specialist QA care verifică aplicații bancare sau un educator care explică standardele bancare internaționale, acest instrument oferă o soluție simplă fără a necesita configurații complexe sau integrarea de terță parte.
IBAN-urile (Numerele de Cont Bancar Internațional) sunt identificatori standardizați ai conturilor utilizate internațional pentru a facilita tranzacțiile transfrontaliere și a reduce erorile în transferurile internaționale de bani. Fiecare IBAN constă dintr-un cod de țară, cifre de control și un număr de cont bancar de bază (BBAN) care urmează formate specifice fiecărei țări. Instrumentul nostru suportă formate din mai multe țări și asigură că toate IBAN-urile generate trec algoritmul de validare MOD 97 specificat în standardul ISO 13616.
Cum funcționează IBAN-urile
Structura și Formatul IBAN
Un IBAN constă din până la 34 de caractere alfanumerice, deși lungimea exactă variază în funcție de țară. Structura standard include:
- Codul de Țară: Un cod de două litere conform standardului ISO 3166-1 alpha-2 (de exemplu, DE pentru Germania, GB pentru Regatul Unit)
- Cifre de Control: Două cifre calculate folosind algoritmul MOD 97 pentru a valida IBAN-ul
- Numărul de Cont Bancar de Bază (BBAN): Format specific țării care poate include:
- Codul băncii
- Codul sucursalei (cod de sortare)
- Numărul contului
- Cifrele de control naționale
De exemplu, un IBAN german urmează structura DE2!n8!n10!n
unde:
DE
este codul de țară2!n
reprezintă două cifre numerice de control8!n
reprezintă un cod bancar de opt cifre10!n
reprezintă un număr de cont de zece cifre
Diferitele țări au formate BBAN diferite, rezultând în lungimi variate ale IBAN-urilor:
Țară | Lungime | Structură | Exemplu |
---|---|---|---|
Germania (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Regatul Unit (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Franța (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Spania (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Italia (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Algoritmul de Validare IBAN
Procesul de validare IBAN utilizează algoritmul MOD 97 așa cum este specificat în standardul ISO 7064. Iată cum funcționează:
- Mută primele patru caractere (codul de țară și cifrele de control) la sfârșitul IBAN-ului
- Convertește toate literele în numere (A=10, B=11, ..., Z=35)
- Calculează modulul 97 al numărului rezultat
- Dacă restul este egal cu 1, IBAN-ul este valid
Matematic, aceasta este reprezentată ca:
Validatorul nostru implementează acest algoritm pentru a verifica integritatea structurală a oricărui IBAN introdus de utilizatori.
Funcțiile Instrumentului
Generator IBAN
Generatorul IBAN creează IBAN-uri aleatorii, dar valide, pentru scopuri de testare. Caracteristici cheie includ:
- Selecția Țării: Alege din mai multe țări suportate, inclusiv Germania, Regatul Unit, Franța, Spania, Italia, Olanda, Elveția, Austria, Belgia și Polonia
- Conformitate cu Formatul: Toate IBAN-urile generate respectă formatele specifice fiecărei țări și trec validarea MOD 97
- Generare cu Un Singur Clic: Creează instantaneu IBAN-uri valide cu un singur click pe buton
- Copiere în Clipboard: Copiază cu ușurință IBAN-urile generate pentru utilizare în scenarii de testare
- Reprezentare Vizuală: Vezi o descompunere colorată a componentelor IBAN-ului (codul de țară, cifrele de control, detaliile băncii)
Generatorul creează IBAN-uri prin:
- Selectarea formatului corespunzător pentru țară
- Generarea de cifre aleatorii pentru porțiunea BBAN
- Calcularea cifrelor de control corecte folosind algoritmul MOD 97
- Asamblarea IBAN-ului complet
Validator IBAN
Validatorul IBAN verifică integritatea structurală a IBAN-urilor introduse de utilizatori. Caracteristici cheie includ:
- Verificarea Formatului: Verifică dacă IBAN-ul respectă formatul corect specific țării
- Validarea MOD 97: Verifică cifrele de control folosind algoritmul standard
- Descompunere Detaliată: Afișează componentele IBAN-urilor valide (codul de țară, cifrele de control, codul băncii, numărul contului)
- Identificarea Erorilor: Oferă mesaje de eroare specifice pentru IBAN-urile invalide
- Asistență pentru Formatare: Formatează automat IBAN-urile introduse pentru o mai bună lizibilitate
Validatorul efectuează multiple verificări:
- Verifică dacă codul de țară este suportat
- Verifică lungimea IBAN-ului în funcție de cerințele specifice țării
- Validează tipurile de caractere (litere și numere în pozițiile corecte)
- Efectuează verificarea MOD 97 pentru a valida cifrele de control
Ghid Pas cu Pas
Generarea unui IBAN
- Accesează Tab-ul Generator: Fă clic pe tab-ul "Generator" (selectat implicit)
- Selectează o Țară: Alege țara dorită din meniul derulant
- Generează IBAN-ul: Fă clic pe butonul "Generează IBAN"
- Vizualizează Rezultatul: IBAN-ul generat va apărea mai jos cu o descompunere vizuală a componentelor sale
- Copiază în Clipboard: Fă clic pe butonul "Copiază în clipboard" pentru a copia IBAN-ul pentru utilizare ulterioară
Validarea unui IBAN
- Accesează Tab-ul Validator: Fă clic pe tab-ul "Validator"
- Introdu un IBAN: Scrie sau lipește un IBAN în câmpul de introducere
- Spațiile și formatarea vor fi gestionate automat
- Instrumentul acceptă atât IBAN-uri formate (cu spații), cât și neformate
- Vizualizează Rezultatele Validării: Instrumentul va valida automat IBAN-ul pe măsură ce scrii
- Verifică Detaliile: Pentru IBAN-urile valide, va fi afișată o descompunere a componentelor
- Revizuiește Orice Erori: Pentru IBAN-urile invalide, mesajele de eroare specifice vor ajuta la identificarea problemei
Cazuri de Utilizare
Instrumentul Generator și Validator IBAN servește mai multor scopuri în diferite domenii:
Dezvoltare și Testare Software
- Testare API: Generează IBAN-uri valide pentru a testa API-uri financiare fără a folosi numere de cont reale
- Validarea Formularelor: Testează logica de validare a IBAN-urilor în formulare web și aplicații
- Testare Cazuri Limite: Verifică modul în care aplicațiile gestionează IBAN-uri din diferite țări
- Testare de Regresie: Asigură că gestionarea IBAN-urilor rămâne corectă după actualizările software
Dezvoltarea Aplicațiilor Financiare
- Sisteme de Plăți: Testează funcționalitatea procesării plăților internaționale
- Software Bancar: Verifică componentele de analiză și validare a IBAN-urilor
- Aplicații Fintech: Asigură conformitatea cu standardele internaționale de bancar
- Sisteme de Bază de Date: Testează stocarea și recuperarea datelor IBAN
Scopuri Educaționale
- Educația Standardelor Bancare: Demonstrează cum sunt structurate și validate IBAN-urile
- Alfabetizarea Financiară: Îi învață pe studenți despre identificatorii bancari internaționali
- Tutoriale de Programare: Folosește ca exemplu pentru algoritmi de validare și gestionarea datelor financiare
- Documentație Tehnică: Generează exemple de IBAN-uri pentru documentația API
Migrarea și Conversia Datelor
- Migrarea Sistemelor Moștenite: Testează procesele de conversie a IBAN-urilor când se fac upgrade-uri de sisteme
- Anonymizarea Datelor: Generează IBAN-uri de test pentru a înlocui numerele de cont reale în medii de dezvoltare
- Umplerea Bazei de Date: Creează date de test realiste pentru bazele de date ale aplicațiilor financiare
Alternative
Deși instrumentul nostru Generator și Validator IBAN oferă o experiență simplificată pentru scopuri de testare, există abordări alternative de luat în considerare:
API-uri Bancare Comerciale
- Pro: Oferă validare suplimentară împotriva registrelor bancare reale, furnizează servicii financiare mai cuprinzătoare
- Contra: Necesită de obicei abonamente, chei API și muncă de integrare; pot avea limite de utilizare
Biblioteci IBAN pentru Limbaje de Programare
- Pro: Pot fi integrate direct în baza ta de cod, oferă acces programatic
- Contra: Necesită muncă de dezvoltare pentru implementare, pot necesita actualizări regulate pentru a rămâne conforme cu standardele
Validatoare Oficiale ale Băncii
- Pro: Furnizate de instituții financiare, precizie ridicată pentru țara lor specifică
- Contra: De obicei limitate la țări specifice, pot să nu suporte funcții de generare
Calcul Manual
- Pro: Ajută la înțelegerea algoritmului de bază, fără dependențe de instrumente externe
- Contra: Consumă timp, predispus la erori umane, impracticabil pentru testare la scară
Instrumentul nostru face legătura între aceste alternative, oferind o interfață simplă și accesibilă pentru atât generare, cât și validare fără a necesita integrare tehnică sau abonamente plătite.
Întrebări Frecvente
Ce este un IBAN?
Un IBAN (Număr de Cont Bancar Internațional) este un sistem internațional de numerotare standardizat dezvoltat pentru a identifica conturile bancare în întreaga lume. A fost stabilit de Organizația Internațională pentru Standardizare (ISO) pentru a facilita tranzacțiile internaționale fără erori.
Cât de precis este acest generator IBAN?
Generatorul IBAN creează IBAN-uri structurale valide care trec algoritmul de verificare MOD 97 așa cum este specificat în standardul ISO 13616. Deși IBAN-urile generate sunt valide din punct de vedere matematic, ele sunt aleatorii și nu sunt legate de conturi bancare reale, făcându-le perfecte pentru testare, dar nu pentru tranzacții reale.
Ce țări sunt suportate de acest instrument?
Instrumentul suportă în prezent formatele IBAN pentru Germania, Regatul Unit, Franța, Spania, Italia, Olanda, Elveția, Austria, Belgia și Polonia. Acestea acoperă cele mai frecvent utilizate formate IBAN în Europa.
Pot folosi IBAN-urile generate pentru tranzacții reale?
Nu. IBAN-urile create de acest generator sunt valide din punct de vedere structural, dar generate aleatoriu. Ele nu sunt conectate la conturi bancare reale și ar trebui folosite doar pentru testare, scopuri educaționale sau demonstrații.
Cum funcționează validarea IBAN-ului?
Validatorul verifică mai multe aspecte ale unui IBAN:
- Valabilitatea codului de țară
- Lungimea corectă pentru țara specificată
- Valabilitatea tipului de caractere (litere și numere în pozițiile corecte)
- Verificarea cifrelor de control MOD 97 conform standardului ISO
Sunt importante spațiile într-un IBAN?
Nu. Deși IBAN-urile sunt adesea afișate cu spații pentru lizibilitate (de obicei în grupuri de patru caractere), spațiile sunt ignorate în timpul validării. Instrumentul nostru gestionează atât IBAN-urile formate (cu spații), cât și neformate.
Datele mele IBAN sunt stocate sau partajate când folosesc acest instrument?
Nu. Acest instrument funcționează complet în browserul tău. Niciunul dintre datele IBAN nu este trimis către un server, stocat sau partajat cu terțe părți. Datele tale rămân private și sigure.
Pot valida IBAN-uri din țări care nu sunt în lista derulantă?
În prezent, instrumentul validează doar IBAN-uri din țările suportate listate în meniul derulant. Dacă ai nevoie de validare pentru țări suplimentare, te rugăm să ne anunți prin formularul de feedback.
De ce un IBAN care arată valid ar putea eșua la validare?
Un IBAN ar putea eșua la validare din mai multe motive:
- Cifrele de control incorecte
- Lungimea greșită pentru țara specificată
- Caractere invalide în poziții specifice
- Greșeli de tipar sau erori de transpunere
- Codul de țară nu este suportat de instrument
Cum pot raporta probleme sau sugera îmbunătățiri?
Primim cu plăcere feedback pentru a îmbunătăți instrumentul. Te rugăm să folosești formularul de feedback accesibil prin linkul de la baza paginii pentru a raporta orice probleme sau a sugera îmbunătățiri.
Implementare Tehnică
Pentru dezvoltatorii interesați să implementeze validarea și generarea IBAN-urilor în propriile aplicații, iată exemple de cod în diverse limbaje de programare:
Validarea IBAN
1function validateIban(iban) {
2 // Elimină spațiile și convertește în majuscule
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Verificare format de bază
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Rearanjează și convertește literele în numere
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 // Calculează 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// Exemplu de utilizare
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 (cifre de control invalide)
32
1def validate_iban(iban):
2 # Elimină spațiile și convertește în majuscule
3 iban = iban.replace(' ', '').upper()
4
5 # Verificare format de bază
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Mută primele 4 caractere la sfârșit
10 rearranged = iban[4:] + iban[:4]
11
12 # Convertește literele în numere (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 # Verifică dacă mod 97 este egal cu 1
21 return int(converted) % 97 == 1
22
23# Exemplu de utilizare
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 (cifre de control invalide)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Elimină spațiile și convertește în majuscule
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Verificare format de bază
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Mută primele 4 caractere la sfârșit
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Convertește literele în numere
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 // Calculează 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
Generarea 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 // Adaugă mai multe țări după cum este necesar
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Codul de țară ${countryCode} nu este suportat`);
11 }
12
13 // Generează BBAN aleatoriu pe baza formatului țării
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 // Generează caractere numerice
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generează caractere alfabetice
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 // Generează caractere alfanumerice
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 // Calculează cifrele de control
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Creează IBAN inițial cu '00' ca cifre de control
55 const initialIban = countryCode + '00' + bban;
56
57 // Rearanjează și convertește literele în numere
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 // Calculează 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// Exemplu de utilizare
77console.log(generateIban('DE')); // Generează un IBAN german valid
78console.log(generateIban('GB')); // Generează un IBAN britanic 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 # Adaugă mai multe țări după cum este necesar
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Codul de țară {country_code} nu este suportat")
14
15 # Generează BBAN aleatoriu pe baza formatului țării
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': # Numeric
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alfabetic
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alfanumeric
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Calculează cifrele de control
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 # Creează un șir pentru calculul cifrelor de control
40 check_string = bban + country_code + '00'
41
42 # Convertește literele în numere (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 # Calculează 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Exemplu de utilizare
57print(generate_iban('DE')) # Generează un IBAN german valid
58print(generate_iban('GB')) # Generează un IBAN britanic valid
59
Referințe
- ISO 13616-1:2007 - "Servicii financiare - Numărul de cont bancar internațional (IBAN) - Partea 1: Structura IBAN"
- Comitetul European pentru Standardele Bancare (ECBS) - "IBAN: Numărul de Cont Bancar Internațional"
- SWIFT - "Registrul IBAN"
- Consiliul European pentru Plăți - "IBAN și Identificatorul Creditorului"
- Banca pentru Reglemente Internaționale - "Sisteme de plată, compensare și decontare"
- Banca Centrală Europeană - "Zona Unică de Plăți în Euro (SEPA)"
- ISO 9362 - "Bancă - Mesaje de telecomunicație bancară - Codul identificator de afaceri (BIC)"
- ISO 7064 - "Tehnologia informației - Tehnici de securitate - Sisteme de caractere de verificare"
Concluzie
Instrumentul Generator și Validator IBAN oferă o soluție simplă, dar puternică pentru scopuri de testare și educație legate de identificatorii bancari internaționali. Prin oferirea atât a capacităților de generare, cât și a celor de validare într-o interfață prietenoasă cu utilizatorul, elimină necesitatea configurațiilor complexe sau a integrărilor de terță parte.
Indiferent dacă dezvolți aplicații financiare, testezi sisteme de plată sau înveți despre standardele bancare internaționale, acest instrument oferă o modalitate simplă de a lucra cu IBAN-uri. Validarea cuprinzătoare asigură că toate IBAN-urile generate sunt structurale și conforme cu standardele internaționale.
Începe acum să generezi sau să validezi un IBAN pentru a experimenta capacitățile instrumentului!
Feedback
Click pe toast-ul de feedback pentru a începe să oferi feedback despre acest instrument
Instrumente Asemănătoare
Descoperă mai multe instrumente care ar putea fi utile pentru fluxul tău de lucru