ابزار تولید و اعتبارسنجی IBAN برای آزمایش و تأیید
IBANهای تصادفی مطابق با فرمت را ایجاد کنید یا IBANهای موجود را با ابزار ساده ما اعتبارسنجی کنید. این ابزار برای آزمایش برنامههای مالی، نرمافزارهای بانکی و مقاصد آموزشی ایدهآل است.
تولیدکننده و اعتبارسنج IBAN
مستندات
ابزار تولید و اعتبارسنجی IBAN
مقدمه
ابزار تولید و اعتبارسنجی شماره حساب بانکی بینالمللی (IBAN) یک ابزار جامع است که برای اهداف آزمایش و تأیید در برنامههای مالی، نرمافزارهای بانکی و زمینههای آموزشی طراحی شده است. این برنامه کاربرپسند دو ویژگی اساسی را ارائه میدهد: تولید IBANهای تصادفی اما مطابق با فرمت و اعتبارسنجی یکپارچگی ساختاری IBANهای وارد شده توسط کاربر. چه شما یک توسعهدهنده باشید که نرمافزار مالی را آزمایش میکنید، یک متخصص QA که برنامههای بانکی را تأیید میکند، یا یک مربی که استانداردهای بانکی بینالمللی را توضیح میدهد، این ابزار یک راهحل ساده را بدون نیاز به پیکربندیهای پیچیده یا ادغامهای شخص ثالث ارائه میدهد.
IBANها (شمارههای حساب بانکی بینالمللی) شناسههای حساب استاندارد شدهای هستند که بهطور بینالمللی برای تسهیل تراکنشهای فرامرزی و کاهش خطاها در انتقالهای پولی بینالمللی استفاده میشوند. هر IBAN شامل یک کد کشور، ارقام بررسی و یک شماره حساب بانکی پایه (BBAN) است که از فرمتهای خاص کشور پیروی میکند. ابزار ما از فرمتهای چندگانه کشور پشتیبانی میکند و اطمینان حاصل میکند که تمام IBANهای تولید شده از الگوریتم اعتبارسنجی MOD 97 که در استاندارد ISO 13616 مشخص شده است، عبور میکنند.
نحوه کار IBANها
ساختار و فرمت IBAN
یک IBAN شامل حداکثر ۳۴ کاراکتر الفبایی و عددی است، هرچند که طول دقیق آن بسته به کشور متفاوت است. ساختار استاندارد شامل:
- کد کشور: یک کد دو حرفی ISO 3166-1 alpha-2 (مثلاً DE برای آلمان، GB برای بریتانیا)
- اعداد بررسی: دو رقم که با استفاده از الگوریتم MOD 97 محاسبه میشوند تا IBAN را اعتبارسنجی کنند
- شماره حساب بانکی پایه (BBAN): فرمت خاص کشور که ممکن است شامل:
- کد بانک
- کد شعبه (کد مرتبسازی)
- شماره حساب
- ارقام بررسی ملی
به عنوان مثال، یک IBAN آلمانی ساختار DE2!n8!n10!n
را دنبال میکند که در آن:
DE
کد کشور است2!n
نمایانگر دو رقم عددی برای اعداد بررسی است8!n
نمایانگر یک کد بانکی هشت رقمی است10!n
نمایانگر یک شماره حساب ده رقمی است
کشورهای مختلف فرمتهای BBAN متفاوتی دارند که منجر به طولهای مختلف IBAN میشود:
کشور | طول | ساختار | مثال |
---|---|---|---|
آلمان (DE) | ۲۲ | DE2!n8!n10!n | DE89370400440532013000 |
بریتانیا (GB) | ۲۲ | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
فرانسه (FR) | ۲۷ | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
اسپانیا (ES) | ۲۴ | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
ایتالیا (IT) | ۲۷ | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
الگوریتم اعتبارسنجی IBAN
فرآیند اعتبارسنجی IBAN از الگوریتم MOD 97 استفاده میکند که در استاندارد ISO 7064 مشخص شده است. نحوه کار آن به این صورت است:
- چهار کاراکتر اول (کد کشور و اعداد بررسی) را به انتهای IBAN منتقل کنید
- تمام حروف را به اعداد تبدیل کنید (A=10، B=11، ...، Z=35)
- مقدار باقیمانده را با ۹۷ محاسبه کنید
- اگر باقیمانده برابر با ۱ باشد، IBAN معتبر است
از نظر ریاضی، این به صورت زیر نمایش داده میشود:
ابزار اعتبارسنجی ما این الگوریتم را برای تأیید یکپارچگی ساختاری هر IBAN وارد شده توسط کاربران پیادهسازی میکند.
ویژگیهای ابزار
تولیدکننده IBAN
تولیدکننده IBAN IBANهای تصادفی اما معتبر را برای اهداف آزمایش ایجاد میکند. ویژگیهای کلیدی شامل:
- انتخاب کشور: انتخاب از بین کشورهای پشتیبانی شده از جمله آلمان، بریتانیا، فرانسه، اسپانیا، ایتالیا، هلند، سوئیس، اتریش، بلژیک و لهستان
- رعایت فرمت: تمام IBANهای تولید شده از فرمتهای خاص کشور پیروی کرده و از اعتبارسنجی MOD 97 عبور میکنند
- تولید با یک کلیک: بهطور فوری IBANهای معتبر را با یک کلیک دکمه ایجاد کنید
- کپی به کلیپبورد: به راحتی IBANهای تولید شده را برای استفاده در سناریوهای آزمایش کپی کنید
- نمایش بصری: مشاهده یک تجزیه و تحلیل رنگی از اجزای IBAN (کد کشور، اعداد بررسی، جزئیات بانک)
تولیدکننده IBANها را با:
- انتخاب فرمت کشور مناسب
- تولید اعداد تصادفی برای بخش BBAN
- محاسبه اعداد بررسی صحیح با استفاده از الگوریتم MOD 97
- مونتاژ IBAN کامل
اعتبارسنجی IBAN
ابزار اعتبارسنجی یکپارچگی ساختاری IBANهای وارد شده توسط کاربر را بررسی میکند. ویژگیهای کلیدی شامل:
- اعتبارسنجی فرمت: بررسی میکند که آیا IBAN از فرمت خاص کشور پیروی میکند یا خیر
- اعتبارسنجی MOD 97: اعداد بررسی را با استفاده از الگوریتم استاندارد تأیید میکند
- تجزیه و تحلیل دقیق: اجزای IBANهای معتبر (کد کشور، اعداد بررسی، کد بانک، شماره حساب) را نمایش میدهد
- شناسایی خطا: پیامهای خطای خاصی برای IBANهای نامعتبر ارائه میدهد
- کمک به فرمتبندی: بهطور خودکار IBANهای وارد شده را برای خوانایی بهتر فرمت میکند
ابزار اعتبارسنجی چندین بررسی را انجام میدهد:
- بررسی میکند که آیا کد کشور پشتیبانی میشود
- طول IBAN را با الزامات خاص کشور بررسی میکند
- اعتبار نوع کاراکترها (حروف و اعداد در موقعیتهای صحیح)
- بررسی MOD 97 برای تأیید اعداد بررسی
راهنمای مرحله به مرحله
تولید یک IBAN
- دسترسی به تب تولیدکننده: روی تب "تولیدکننده" کلیک کنید (بهطور پیشفرض انتخاب شده است)
- انتخاب یک کشور: کشور مورد نظر خود را از منوی کشویی انتخاب کنید
- تولید IBAN: روی دکمه "تولید IBAN" کلیک کنید
- مشاهده نتیجه: IBAN تولید شده در زیر با تجزیه و تحلیل بصری اجزای آن ظاهر میشود
- کپی به کلیپبورد: روی دکمه "کپی به کلیپبورد" کلیک کنید تا IBAN را برای استفاده در جاهای دیگر کپی کنید
اعتبارسنجی یک IBAN
- دسترسی به تب اعتبارسنجی: روی تب "اعتبارسنجی" کلیک کنید
- وارد کردن یک IBAN: یک IBAN را در فیلد ورودی تایپ یا پیست کنید
- فضاها و فرمت بهطور خودکار مدیریت میشود
- ابزار هر دو IBAN فرمت شده (با فضاها) و IBANهای بدون فرمت را قبول میکند
- مشاهده نتایج اعتبارسنجی: ابزار بهطور خودکار IBAN را در حین تایپ اعتبارسنجی میکند
- بررسی جزئیات: برای IBANهای معتبر، تجزیه و تحلیل اجزا نمایش داده میشود
- بررسی هرگونه خطا: برای IBANهای نامعتبر، پیامهای خطای خاص به شناسایی مشکل کمک میکند
موارد استفاده
ابزار تولید و اعتبارسنجی IBAN اهداف متعددی را در زمینههای مختلف خدمت میکند:
توسعه و آزمایش نرمافزار
- آزمایش API: تولید IBANهای معتبر برای آزمایش APIهای مالی بدون استفاده از شماره حسابهای واقعی
- اعتبارسنجی فرم: آزمایش منطق اعتبارسنجی IBAN در فرمها و برنامههای وب
- آزمایش موارد مرزی: بررسی نحوه برخورد برنامهها با IBANهای کشورهای مختلف
- آزمایش رگرسیون: اطمینان از اینکه نحوه مدیریت IBANها پس از بهروزرسانیهای نرمافزاری صحیح باقی میماند
توسعه برنامههای مالی
- سیستمهای پرداخت: آزمایش عملکرد پردازش پرداختهای بینالمللی
- نرمافزارهای بانکی: تأیید اجزای تجزیه و اعتبارسنجی IBAN
- برنامههای فینتک: اطمینان از انطباق با استانداردهای بانکی بینالمللی
- سیستمهای پایگاه داده: آزمایش ذخیره و بازیابی دادههای IBAN
اهداف آموزشی
- آموزش استانداردهای بانکی: نشان دادن نحوه ساختار و اعتبارسنجی IBANها
- سواد مالی: آموزش به دانشآموزان درباره شناسههای بانکی بینالمللی
- آموزشهای کدنویسی: استفاده بهعنوان مثال برای الگوریتمهای اعتبارسنجی و مدیریت دادههای مالی
- مستندات فنی: تولید IBANهای نمونه برای مستندات API
مهاجرت و تبدیل دادهها
- مهاجرت سیستمهای قدیمی: آزمایش فرآیندهای تبدیل IBAN هنگام ارتقاء سیستمها
- ناشناسسازی دادهها: تولید IBANهای آزمایشی برای جایگزینی شماره حسابهای واقعی در محیطهای توسعه
- کاشت پایگاه داده: ایجاد دادههای آزمایشی واقعی برای پایگاههای داده برنامههای مالی
گزینههای جایگزین
در حالی که ابزار تولید و اعتبارسنجی IBAN ما یک تجربه ساده برای اهداف آزمایش ارائه میدهد، گزینههای جایگزین دیگری نیز وجود دارد که باید در نظر گرفته شوند:
APIهای بانکی تجاری
- مزایا: ارائه اعتبارسنجی اضافی در برابر ثبتنامهای واقعی بانک، ارائه خدمات مالی جامعتر
- معایب: معمولاً به اشتراکگذاری، کلیدهای API و کار ادغام نیاز دارند؛ ممکن است محدودیتهای استفاده داشته باشند
کتابخانههای IBAN برای زبانهای برنامهنویسی
- مزایا: میتوانند به طور مستقیم در کد شما ادغام شوند، دسترسی برنامهنویسی را ارائه میدهند
- معایب: نیاز به کار توسعه برای پیادهسازی دارند، ممکن است نیاز به بهروزرسانیهای منظم برای بهروز ماندن با استانداردها داشته باشند
اعتبارسنجیهای رسمی بانک
- مزایا: توسط مؤسسات مالی ارائه میشود، دقت بالایی برای کشور خاص خود دارند
- معایب: معمولاً محدود به کشورهای خاص هستند، ممکن است ویژگیهای تولید را پشتیبانی نکنند
محاسبه دستی
- مزایا: به درک الگوریتم زیرین کمک میکند، به هیچ ابزاری خارجی وابسته نیست
- معایب: زمانبر است، مستعد خطای انسانی است، برای آزمایش در مقیاس غیرعملی است
ابزار ما شکاف بین این گزینههای جایگزین را با ارائه یک رابط ساده و قابل دسترس برای تولید و اعتبارسنجی بدون نیاز به ادغامهای فنی یا اشتراکهای پولی پر میکند.
سوالات متداول
IBAN چیست؟
IBAN (شماره حساب بانکی بینالمللی) یک سیستم شمارهگذاری بینالمللی استاندارد شده است که برای شناسایی حسابهای بانکی در مرزهای ملی توسعه یافته است. این سیستم توسط سازمان بینالمللی استانداردسازی (ISO) برای تسهیل تراکنشهای بینالمللی بدون خطا تأسیس شد.
دقت این تولیدکننده IBAN چقدر است؟
تولیدکننده IBAN IBANهای ساختاری معتبر را ایجاد میکند که از الگوریتم بررسی MOD 97 عبور میکنند همانطور که در استاندارد ISO 13616 مشخص شده است. در حالی که IBANهای تولید شده از نظر ریاضی معتبر هستند، تصادفی هستند و به حسابهای واقعی متصل نیستند، بنابراین برای آزمایش مناسب هستند اما برای تراکنشهای واقعی نیستند.
کدام کشورها توسط این ابزار پشتیبانی میشوند؟
این ابزار در حال حاضر فرمتهای IBAN را برای آلمان، بریتانیا، فرانسه، اسپانیا، ایتالیا، هلند، سوئیس، اتریش، بلژیک و لهستان پشتیبانی میکند. این کشورها شامل رایجترین فرمتهای IBAN در اروپا هستند.
آیا میتوانم از IBANهای تولید شده برای تراکنشهای واقعی استفاده کنم؟
خیر. IBANهایی که توسط این تولیدکننده ایجاد میشوند ساختاری معتبر هستند اما بهطور تصادفی تولید میشوند. آنها به حسابهای واقعی متصل نیستند و باید فقط برای اهداف آزمایش، آموزشی یا نمایشی استفاده شوند.
اعتبارسنجی IBAN چگونه کار میکند؟
ابزار اعتبارسنجی چندین جنبه از یک IBAN را بررسی میکند:
- اعتبار کد کشور
- طول صحیح برای کشور مشخص شده
- اعتبار نوع کاراکترها (حروف و اعداد در موقعیتهای صحیح)
- تأیید اعداد بررسی MOD 97 طبق استاندارد ISO
آیا فضاها در IBAN مهم هستند؟
خیر. در حالی که IBANها معمولاً با فضاها برای خوانایی نمایش داده میشوند (معمولاً در گروههای چهار کاراکتری)، فضاها در حین اعتبارسنجی نادیده گرفته میشوند. ابزار ما هر دو IBAN فرمت شده و بدون فرمت را مدیریت میکند.
آیا دادههای IBAN من در حین استفاده از این ابزار ذخیره یا به اشتراک گذاشته میشود؟
خیر. این ابزار بهطور کامل در مرورگر شما کار میکند. هیچ داده IBAN به هیچ سروری ارسال نمیشود، ذخیره نمیشود یا با شخص ثالث به اشتراک گذاشته نمیشود. دادههای شما خصوصی و امن باقی میمانند.
آیا میتوانم IBANهایی از کشورهای غیر از لیست کشویی اعتبارسنجی کنم؟
در حال حاضر، این ابزار فقط IBANهایی از کشورهای پشتیبانی شده در لیست کشویی را اعتبارسنجی میکند. اگر به اعتبارسنجی برای کشورهای اضافی نیاز دارید، لطفاً از طریق فرم بازخورد به ما اطلاع دهید.
چرا ممکن است یک IBAN به نظر معتبر برسد اما اعتبارسنجی را رد کند؟
یک IBAN ممکن است به دلایل مختلفی اعتبارسنجی را رد کند:
- اعداد بررسی نادرست
- طول نادرست برای کشور مشخص شده
- کاراکترهای نامعتبر در موقعیتهای خاص
- اشتباهات تایپی یا جابجایی
- کد کشور توسط ابزار پشتیبانی نمیشود
چگونه میتوانم مشکلات را گزارش کنم یا پیشنهاداتی برای بهبود ارائه دهم؟
ما از بازخورد برای بهبود ابزار استقبال میکنیم. لطفاً از طریق فرم بازخورد که از طریق لینک در پایین صفحه در دسترس است، هرگونه مشکل یا پیشنهادات بهبود را گزارش کنید.
پیادهسازی فنی
برای توسعهدهندگانی که به پیادهسازی اعتبارسنجی و تولید IBAN در برنامههای خود علاقهمند هستند، در اینجا مثالهای کد در زبانهای مختلف آورده شده است:
اعتبارسنجی IBAN
1function validateIban(iban) {
2 // حذف فضاها و تبدیل به حروف بزرگ
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // بررسی فرمت پایه
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // جابجایی و تبدیل حروف به اعداد
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 // محاسبه 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// مثال استفاده
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 (اعداد بررسی نامعتبر)
32
1def validate_iban(iban):
2 # حذف فضاها و تبدیل به حروف بزرگ
3 iban = iban.replace(' ', '').upper()
4
5 # بررسی فرمت پایه
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # جابجایی چهار کاراکتر اول به انتها
10 rearranged = iban[4:] + iban[:4]
11
12 # تبدیل حروف به اعداد (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 # بررسی اینکه آیا mod 97 برابر با 1 است
21 return int(converted) % 97 == 1
22
23# مثال استفاده
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 (اعداد بررسی نامعتبر)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // حذف فضاها و تبدیل به حروف بزرگ
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // بررسی فرمت پایه
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // جابجایی چهار کاراکتر اول به انتها
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // تبدیل حروف به اعداد
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 // محاسبه 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
تولید 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 // کشورهای بیشتر را به دلخواه اضافه کنید
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`کد کشور ${countryCode} پشتیبانی نمیشود`);
11 }
12
13 // تولید BBAN تصادفی بر اساس فرمت کشور
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 // تولید کاراکترهای عددی
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // تولید کاراکترهای الفبایی
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 // تولید کاراکترهای الفبایی و عددی
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 // محاسبه اعداد بررسی
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // ایجاد IBAN اولیه با '00' به عنوان اعداد بررسی
55 const initialIban = countryCode + '00' + bban;
56
57 // جابجایی و تبدیل حروف به اعداد
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 // محاسبه ۹۸ منهای 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// مثال استفاده
77console.log(generateIban('DE')); // تولید یک IBAN معتبر آلمانی
78console.log(generateIban('GB')); // تولید یک IBAN معتبر بریتانیایی
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 # کشورهای بیشتر را به دلخواه اضافه کنید
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"کد کشور {country_code} پشتیبانی نمیشود")
14
15 # تولید BBAN تصادفی بر اساس فرمت کشور
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': # عددی
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # الفبایی
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # الفبایی و عددی
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # محاسبه اعداد بررسی
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 # ایجاد رشته برای محاسبه اعداد بررسی
40 check_string = bban + country_code + '00'
41
42 # تبدیل حروف به اعداد (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 # محاسبه ۹۸ منهای mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# مثال استفاده
57print(generate_iban('DE')) # تولید یک IBAN معتبر آلمانی
58print(generate_iban('GB')) # تولید یک IBAN معتبر بریتانیایی
59
منابع
- ISO 13616-1:2007 - "خدمات مالی - شماره حساب بانکی بینالمللی (IBAN) - بخش ۱: ساختار IBAN"
- کمیته استانداردهای بانکی اروپا (ECBS) - "IBAN: شماره حساب بانکی بینالمللی"
- SWIFT - "ثبتنام IBAN"
- شورای پرداختهای اروپا - "IBAN و شناسایی طلبکار"
- بانک تسویه بینالمللی - "سیستمهای پرداخت، تسویه و تسویه"
- بانک مرکزی اروپا - "منطقه پرداخت یورو واحد (SEPA)"
- ISO 9362 - "بانکداری - پیامهای مخابراتی بانکی - کد شناسایی کسبوکار (BIC)"
- ISO 7064 - "فناوری اطلاعات - تکنیکهای امنیتی - سیستمهای کاراکتر بررسی"
نتیجهگیری
ابزار تولید و اعتبارسنجی IBAN یک راهحل ساده اما قدرتمند برای اهداف آزمایش و آموزشی مرتبط با شناسههای بانکی بینالمللی ارائه میدهد. با ارائه قابلیتهای تولید و اعتبارسنجی در یک رابط کاربرپسند، نیاز به پیکربندیهای پیچیده یا ادغامهای شخص ثالث را از بین میبرد.
چه شما در حال توسعه برنامههای مالی باشید، چه در حال آزمایش سیستمهای پرداخت، یا در حال یادگیری درباره استانداردهای بانکی بینالمللی، این ابزار راهی ساده برای کار با IBANها را ارائه میدهد. اعتبارسنجی جامع اطمینان حاصل میکند که تمام IBANهای تولید شده از نظر ساختاری صحیح و مطابق با استانداردهای بینالمللی هستند.
هماکنون سعی کنید یک IBAN تولید یا اعتبارسنجی کنید تا قابلیتهای این ابزار را از نزدیک تجربه کنید!
بازخورد
برای شروع دادن بازخورد درباره این ابزار، روی نوار بازخورد کلیک کنید
ابزارهای مرتبط
ابزارهای بیشتری را کشف کنید که ممکن است برای جریان کار شما مفید باشند