شبا
شماره حساب بانکی ایرانی شِبا مخفف شناسه حساب بانکی می باشد. شبا یک استاندارد ملی است که در چارچوب استاندارد جهانی IBAN و با هدف یکپارچه سازی حساب‌های بانکی تعریف شده‌است. بانک‌ها از شیوه‌های متفاوتی برای شماره‌گذاری حساب‌های مشتریانشان استفاده می‌کنند، و به همین دلیل انتقال پول بین بانکهای گوناگون، دردسرساز خواهد شد. برای جابجایی پول بین بانکی به یک فرمت یکپارچه نیاز است. هر حساب بانکی دارای یک شناسه یکتاست که در ایران با نام «شناسه حساب بانکی ایران» یا به‌طور اختصار «شِبا» شناخته می‌شود. این شماره در ایران با IR شروع شده و پس از آن ۲۴ رقم دیگر قرار می‌گیرد.
شبا به منظور تسهیل و استانداردسازی مبادلات بین بانکی و بین‌المللی بانک‌های کشور، توسط بانک مرکزی جمهوری اسلامی ایران و مطابق با استاندارد ISO 13616 تعریف و تبیین شده‌است و برای نخستین بار در سایت بانک ملی ایران اجرا و عمومی شد. در تمام سامانه‌های پرداخت بین بانکی منحصراً از این نوع شماره حساب استفاده می‌شود. هر شماره حساب بانکی، قابل تبدیل به یک شماره شبا می‌باشد. سیستم های بانک ها از شبا در انتقال بین بانک های ایرانی ساتنا و پایا ، دستگاه کارتخوان پوز ودرگاه اینترنت استفاده میکنند.
قبل از IBAN ، استانداردهای ملی مختلف برای شناسایی حساب بانکی وجود داشت که برای برخی از کاربران گیج کننده بود. این امر اغلب منجر به از بین رفتن اطلاعات مسیر تراکنش در پرداخت ها می‌شد. همچنین این شماره حساب‌ها دارای ارقام چک (کنترل صحت ساختار) نبودند و این امر امکان بروز خطا در انتقال وجه‌ها را بالا میبرد.
در سال 1997، برای رفع این مشکلات، سازمان بین المللی استاندارد (ISO) استاندارد جدیدی تحت عنوان ISO 13616 را منتشر کرد. طبق این استاندارد شماره حساب‌های بین‌المللی تحت نام IBAN که مخفف International Bank Account Number است جهت انجام مبادلات بین‌الملل معرفی شد.
سازمان ISO در سال‌های ۲۰۰۳ و ۲۰۰۷ این استاندارد را بهبود بخشید. در سال ۲۰۰۷ استاندارد ISO 13616 را به دو بخش تقسیم کرد. در بخش دوم (ISO 13616-2:2007) بهبودهای زیادی صورت گرفته شد و تبدیل به استاندارد مورد پذیرش جهت انتقال وجه بین‌المللی شد. نام رسمی این بخش از استاندارد، سویفت (SWIFT) است که امروزه بخش اعظم مبادلات مالی بین‌المللی از طریق آن صورت می‌پذیرد.
در ایران از 11 دی ماه 1385 «اول ژانویه سال ۲۰۰۷ میلادی» بانک مرکزی جمهوری اسلامی ایران، استفاده از شبا را برای حواله‌های ارزی اجباری کرده است. همچنین این شماره در مبادلات بین بانکی داخلی کشور نیز استفاده می‌شود.
این الگوریتم برای اعتبارسنجی کد IBAN سایر کشورها نیز می‌تواند به کار برده شود. زیرا همان‌طور که گفته شد الگوریتم ایجاد کد شبا یا به عبارتی کد IBAN بین‌المللی است و کشورها نمی‌توانند در الگوریتم تولید این کد تغییر دهند.
در ابتدا یک شماره شبا را در نظر بگیرید. مثلاً IR062960000000100324200001
۱-ابتدا ۴ کاراکتر اول یعنی IR06 را از کد جدا کنید و به انتهای کد بچسبانید؛ که می‌شود: 2960000000100324200001IR06
۲-سپس طبق جدول زیر معادل عددی دو حرف اول را جایگزین حروف کد نمایید؛ که در اینجا باید عدد ۱۸ را به جای حرف I و عدد ۲۷ را به جای عدد R قرار دهیم که می‌شود: 2960000000100324200001182706
۳-اکنون یک کد ۲۸ رقمی به دست آمد. حالا این عدد را بر عدد ۹۷ تقسیم می‌کنیم.
۴-اگر باقی‌مانده تقسیم برابر با عدد ۱ شد کد شبا یا به عبارت بهتر کد IBAN مورد نظر صحیح است و در غیر این صورت کد اشتباه است.
توجه کنید که در این الگوریتم منظور باقی‌مانده تقسیم است نه خارج قسمت تقسیم.
برای به دست آوردن باقی‌مانده تقسیم باید از ماشین حساب مهندسی یا ماشین حساب ویندوز استفاده نمایید. در ماشین حساب مهندسی یا ماشین حساب ویندوز دکمه‌ای به نام Mod وجود دارد که برای محاسبه باقی‌مانده تقسیم به کار می‌رود.
برای دریافت شماره شبا، میتوان به سامانه های ارتباطی هر بانک مانند سایت بانک یا نرم افزارهای همراه آن بانک مراجعه کرد. در سایت بانک با دادن شماره حساب یا در برخی بانکها با دادن شماره کارت بانکی میتوان شماره شبای مربوطه را دریافت کرد. همچنین محاسبه شماره شبا از شماره حساب با روشهای ریاضی نیز امکان پذیر است .