الگوریتم کد شبا
شناسه حساب بانکی ایران (شبا) یک شناسه منحصر به فرد برای هر حساب بانکی است که شامل ۲۶ کاراکتر است و توسط قوانین و دستورالعملهای IBAN(شماره حساب بانکی بینالمللی) تنظیم میگردد و مستقل از نظام شماره گذاری داخلی بانکها است.
الگوریتم کد شبا
در این بخش به الگوریتم اعتبارسنجی کد شبا میپردازیم. این الگوریتم برای اعتبارسنجی کد IBAN سایر کشورها نیز میتواند به کار برده شود. زیرا همانطور که گفته شد الگوریتم ایجاد کد شبا یا به عبارتی کد IBAN بینالمللی است و کشورها نمیتوانند در الگوریتم تولید این کد تغییر دهند.
مراحل اعتبارسنجی کد شبا
در ابتدا یک شماره شبا را در نظر بگیرید. مثلاً IR062960000000100324200001
۱-ابتدا ۴ کاراکتر اول یعنی IR06 را از کد جدا کنید و به انتهای کد بچسبانید؛ که میشود: 2960000000100324200001IR06
۲-سپس طبق جدول زیر معادل عددی دو حرف اول را جایگزین حروف کد نمایید؛ که در اینجا باید عدد ۱۸ را به جای حرف I و عدد ۲۷ را به جای عدد R قرار دهیم که میشود: 2960000000100324200001182706
A = 10 | G = 16 | M = 22 | S = 28 | Y = 34 |
B = 11 | H = 17 | N = 23 | T = 29 | Z = 35 |
C = 12 | I = 18 | O = 24 | U = 30 | |
D = 13 | J = 19 | P = 25 | V = 31 | |
E = 14 | K = 20 | Q = 26 | W = 32 | |
F = 15 | L = 21 | R = 27 | X = 33 |
۳-اکنون یک کد ۲۸ رقمی به دست آمد. حالا این عدد را بر عدد ۹۷ تقسیم میکنیم.
۴-اگر باقیمانده تقسیم برابر با عدد ۱ شد کد شبا یا به عبارت بهتر کد IBAN مورد نظر صحیح است و در غیر این صورت کد اشتباه است.
توجه کنید که در این الگوریتم منظور باقیمانده تقسیم است نه خارج قسمت تقسیم.
برای به دست آوردن باقیمانده تقسیم باید از ماشین حساب مهندسی یا ماشین حساب ویندوز استفاده نمایید. در ماشین حساب مهندسی یا ماشین حساب ویندوز دکمهای به نام Mod وجود دارد که برای محاسبه باقیمانده تقسیم به کار میرود.
منابع
الگوریتم اعتبارسنجی کد شبای بانکی بایگانیشده در ۱۰ آوریل ۲۰۱۵ توسط Wayback Machine International Bank Account Number