الگوریتم اعتبارسنجی کد شبا بانکی

?>

دسترسی سریع به عناوین این مقاله

الگوریتم اعتبارسنجی کد شبا:


شناسه حساب بانکی ایران(کد شبا)
 یک شناسه منحصر به فرد برای هر حساب بانکی است که شامل 26 کاراکتر است و توسط قوانین و دستورالعمل های IBANN(مخفف شماره حساب بانکی بین المللی) تنظیم می گردد و مستقل از نظام شماره گذاری داخلی بانک ها است. در واقع تنظیم و ساخت کد شبا بر اساس الگوریتم ها و قوانین بین المللی ساخته می شود و نه تنها ایران بلکه سایر کشورها نیز دخالتی در قوانین ساخت این کد ندارند. و هر کشوری نیز یک پیش کد مخصوص به خود دارد که ابتدای ایک کد باید درج شود. مثلابرای ایران حروف IR به ابتدای این کد افزوده می شود. یا برای انگلیس حروف GB به ابتدای کد افزوده می شود. لازم به ذکر است تعداد کاراکترهای هر کشور فرق دارد مثلا برای ایران شماره شبا باید 26 کاراکتر و یا برای کشور آلبانی باید 288 کاراکتر باشد. در این مطلب می خواهیم شما را با نحوه اعتبارسنجی کد شبا آشنا کنیم. این الگوریتم اعتبارسنجی برای کدهای IBAN تمام کشورها قابل اجراست چون همانطور که گفتیم این کد توسط قوانین بین الملل ایجاد می شود. در ابتدا یک شماره شبا را در نظر بگیرید. مثلا IR062960000000100324200001 1- ابتدا 4 کاراکتر اول یعنی IR062 را از کد جدا کنید و به انتهای کد بچسبانید. که می شود: 960000000100324200001IR062 2- سپس طبق جدول زیر معادل عددی دو حرف اول را جایگزین حروف کد نمایید. که در اینجا باید عدد 18 را به جای حرف I و عدد 28 را به جای عدد R قرار دهیم که می شود: 9600000001003242000011828062

 جدول تبدیل حروف به عدد کد IBAN 
A = 10G = 16M = 22S = 28Y = 34
B = 11H = 17N = 23T = 29Z = 35
C = 12I = 18O = 24U = 30 
D = 13J = 19P = 25V = 31 
E = 14K = 20Q = 26W = 32 
F = 15L = 21R = 27X = 33 

 3- اکنون یک کد 28 رقمی به دست آمد. حالا این عدد را بر عدد 97 تقسیم می کنیم. 4- اگر باقیمانده تقسیم برابر با عدد 1 شد کد شبا و یا به عبارت بهتر کد IBAN مورد نظر صحیح است و در غیر این صورت کد اشتباه است. دقت کنید منظور ما باقیمانده تقسیم است و نه خارج قسمت تقسیم. برای محاسبه باقیمانده تقسیم در ماشین حساب های مهندسی و ماشین حساب ویندوز دکمه ای با عنوان Mod وجود دارد که با  استفاده از این دکمه می توانید باقیمانده تقسیم را محاسبه کنید. مثلا برای مثال فوق ابتدا عدد به دست آمده یعنی 9600000001003242000011828062 را در ماشین حساب ویندوز وارد نمایید.(می توانید با کپی و جایگزاری نیز این کار را انجام دهید.)سپس دکمه Mod را کلیک نمایید و عدد 97 را وارد نمایید. در این حالت اگر جواب 1 شد یعنی کد شبای شما صحیح است.

کد شبا بانک
الگوریتم کد شبا بانکی

اکنون اگر دکمه مساوی را کلیک نمایید خواهید دید عدد 50 را نمایش می دهد و این یعنی اینکه کد شبای فوق صحیح نیست. همچنین نمونه ای از کد شبای صحیح IR000170000000100324200001 است که اگر طبق الگوریتم فوق عمل نمایید خواهید دید که باقیمانده تقسیم برابر 11 خواهد شد. همچنین روانشناس سبز اقدام به تهیه نرم افزار اعتبارسنجی کد شبا نموده که می توانید با استفاده از این نرم افزار مفید و رایگان کد شبا را از لحاظ صحت چک نمایید. جهت دانلود این نرم افزار برروی لینک زیر کلیک نمایید. در زیر جدول نام کشورها به همراه الگوی کد IBAN آنها ذکر شده است.  

ردیفنام کشورپیش کد IBANتعداد کاراکترنمونه کد IBAN
1آلبانیAL28AL47212110090000000235698741
2الجزیرهDZ24DZ4000400174401001050486
3آندوراAD24AD1200012030200359100100
4آنگولاAO25AO06000600000100037131174
5اتریشAT20AT611904300234573201
6آذربایجانAZ28AZ21NABZ00000000137010001944
7بحرینBH22BH29BMAG1299123456BH00
8بوسنی و هرزه گوینBA20BA391290079401028494
9بلژیکBE16BE68539007547034
10بنینBJ28BJ11B00610100400271101192591
11برزیلBR29BR9700360305000010009795493P1
12بلغارستانBG22BG80BNBG96611020345678
13بورکینافاسوBF27BF1030134020015400945000643
14بوروندیBI16BI43201011067444
15کامرونCM27CM2110003001000500000605306
16کیپ وردCV25CV64000300004547069110176
17کاستاریکاCR21CR0515202001026284066
18کرواسیHR21HR1210010051863000160
19مصرCY28CY17002001280000001200527600
20جمهوری چکCZ24CZ6508000000192000145399
21دانمارکDK18DK5000400440116243
22جمهوری دومینیکنDO28DO28BAGR00000001212453611324
23استونیEE20EE382200221020145685
24جزایر فاروFO18FO1464600009692713
25فنلاندFI18FI2112345600000785
26فرانسهFR27FR1420041010050500013M02606
27گواتمالاGT28GT82TRAJ01020000001210029690
28گرجستانGE22GE29NB0000000101904917
29آلمانDE22DE89370400440532013000
30جبل الطارقGI23GI75NWBK000000007099453
31یونانGR27GR1601101250000000012300695
32گرینلندGL18GL8964710001000206
33مجارستانHU28HU42117730161111101800000000
34ایسلندIS26IS140159260076545510730339
35ایرانIR26IR580540105180021273113007
36ایرلندIE22IE29AIBK93115212345678
37اسراییلIL23IL620108000000099999999
38ایتالیاIT27IT60X0542811101000000123456
39ساحل عاجCI28CI05A00060174100178530011852
40اردنJO30JO94CBJO0010000000000131000302
41قزاقستانKZ20KZ176010251000042993
42کویتKW30KW74NBOK0000000000001000372151
43لتونیLV21LV80BANK0000435195001
44لبنانLB28LB30099900000001001925579115
45لیختن اشتاینLI21LI21088100002324013AA
46لیتوانیLT20LT121000011101001000
47لوکزامبورگLU20LU280019400644750000
48مقدونیهMK19MK07300000000042425
49ماداگاسکارMG27MG4600005030010101914016056
50مالتMT31MT84MALT011000012345MTLCAST001S
51موریتانیMR27MR1300012000010000002037372
52موریسMU30MU17BOMM0101101030300200000MUR
53مالیML28ML03D00890170001002120000447
54مولداویMD24MD24AG000225100013104168
55موناکوMC27MC5813488000010051108001292
56مونتنگروME22ME25505000012345678951
57موزامبیکMZ25MZ59000100000011834194157
58هلندNL18NL91ABNA0417164300
59نروژNO15NO9386011117947
60پاکستانPK24PK24SCBL0000001171495101
61فلسطینPS29PS92PALS000000000400123456702
62لهستانPL28PL27114020040000300201355387
63پرتقالPT25PT50000201231234567890154
64قطرQA29QA58DOHB00001234567890ABCDEFG
65رومانیRO24RO49AAAA1B31007593840000
66سن مارینوSM27SM86U0322509800000000270100
67عربستانSA24SA0380000000608010167519
68سنگالSN28SN12K00100152000025690007542
69سن مارینوRS22RS35260005601001611379
70اسلواکیSK24SK3112000000198742637541
71اسلونیSI19SI56191000000123438
72اسپانیاES24ES9121000418450200051332
73سوئدSE24SE3550000000054910000003
74سوئیسCH21CH9300762011623852957
75تونسTN24TN5914207207100707129648
76ترکیهTR26TR330006100519786457841326
77امارت متحده عربیAE23AE260211000000230064016
78انگلستانGB22GB29NWBK60161331926819
79جزایر ویرجینیاVG24VG96VPVG0000012345678901
کد شبای سایر کشورها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *