IBAN Numarasının Anatomisi ve MOD-97 Doğrulama Algoritması Nasıl Çalışır?

H
Hesaplamasyon Editör Ekibi
2024-05-18
IBAN Numarasının Anatomisi ve MOD-97 Doğrulama Algoritması Nasıl Çalışır?
İnteraktif Hesaplama Aracı

İban Doğrulama ve Hesaplama

Bu rehberde anlatılan hesaplamayı kendi değerlerinizle hemen ücretsiz ve anında gerçekleştirin.

Aracı Aç ve Hesapla

Günümüzde para transferlerinin ayrılmaz bir parçası olan IBAN (International Bank Account Number - Uluslararası Banka Hesap Numarası), aslında rastgele seçilmiş rakamlar ve harfler dizisi değildir. Kendi içinde sıkı bir mantığı ve güvenliği barındıran bu yapı, olası hataların önüne geçmek için geliştirilmiştir. Bu makalede, bir IBAN numarasının anatomisini ve İban Doğrulama ve Hesaplama süreçlerinde kullanılan MOD-97 algoritmasının nasıl çalıştığını detaylıca inceleyeceğiz.

IBAN Numarası Nelerden Oluşur?

Bir IBAN numarası, ISO 13616 standardına göre oluşturulur ve belirli bileşenleri barındırır. Türkiye'de kullanılan standart bir IBAN 26 karakterden oluşur, ancak bu uzunluk ülkeden ülkeye değişebilir (örneğin Fransa'da 27, İngiltere'de 22 karakter). Genel yapı şu şekildedir:

  1. Ülke Kodu (2 Harf): Hesabın bulunduğu ülkeyi belirtir. Türkiye için bu "TR", Almanya için "DE" şeklindedir.
  2. Kontrol Basamakları (2 Rakam): IBAN'ın en önemli güvenlik duvarıdır. Bu iki rakam, MOD-97 algoritması kullanılarak hesaplanır ve IBAN'ın geri kalanının doğruluğunu teyit eder.
  3. Banka Kodu / Şube Kodu: Hesap numarasını barındıran finansal kurumun kimlik bilgisidir.
  4. Rezerv Alanı (Eğer Varsa): Genellikle 0 (sıfır) karakterlerinden oluşur ve uzunluğu tamamlamak için kullanılır.
  5. Hesap Numarası: Müşterinin banka nezdindeki benzersiz hesap numarasıdır.

Örneğin, TR56 0006 2000 0001 2345 6789 01 IBAN numarasında "TR" ülke kodunu, "56" kontrol basamaklarını, "00062" banka kodunu temsil ederken, devamındaki rakamlar rezerv ve hesap numarası bilgilerini içerir.

MOD-97 Algoritması: Matematiksel Bir Güvenlik Duvarı

IBAN doğrulama işlemi, basitçe numaranın uzunluğunu veya belirli karakterleri içermesini kontrol etmekten çok daha fazlasıdır. Çekirdeğinde MOD-97 olarak bilinen özel bir bölme işlemi yatar. Bu işlem sayesinde, bir rakamın eksik yazılması veya iki rakamın yer değiştirmesi (örneğin 12 yerine 21 yazılması) gibi sık yapılan insan hataları anında tespit edilir.

Doğrulama Adımları

Bir IBAN numarasının biçimsel olarak doğru olup olmadığını kontrol etmek için şu adımlar izlenir:

Adım 1: Format ve Uzunluk Kontrolü

Öncelikle IBAN'daki boşluklar temizlenir. Ardından ülke koduna uygun uzunlukta olup olmadığı (Türkiye için 26 karakter) ve sadece geçerli harf/rakam içerip içermediği kontrol edilir.

Adım 2: İlk Dört Karakteri Sona Taşıma

IBAN'ın başındaki ülke kodu ve iki haneli kontrol basamağı kopyalanıp numaranın en sonuna eklenir.

Örnek:
Orijinal IBAN: TR56 0006 2000 0001 2345 6789 01
Boşluksuz: TR560006200000012345678901
Sona Taşıma: 0006200000012345678901TR56

Adım 3: Harfleri Rakamlara Çevirme

Matematiksel bir işlem yapılacağı için metin içindeki harflerin sayılara dönüştürülmesi gerekir. Bu işlem için basit bir kural vardır: A = 10, B = 11, C = 12 ... Z = 35.
Türkiye için: T = 29 ve R = 27.

Yukarıdaki örneğimiz şu hale gelir:
0006200000012345678901292756

Adım 4: MOD-97 İşlemi

Elde edilen bu devasa sayı (ki genellikle standart değişken tiplerine sığmayacak kadar büyüktür), 97'ye bölünür ve kalan bulunur.

Eğer bu işlemin kalanı 1 (bir) ise, IBAN biçimsel olarak DOĞRU demektir.
Eğer sonuç 1'den farklıysa, numara kesinlikle geçersizdir; ya bir harf hatalıdır, ya bir rakam eksiktir ya da kontrol basamakları yanlıştır.

Sistemler Bu Devasa Sayıları Nasıl Hesaplar?

Modern programlama dillerinde 0006200000012345678901292756 gibi 20-30 haneli sayıları tek seferde 97'ye bölmek, bellek sınırlarını aşarak hata (overflow) verebilir. Bu nedenle, bölme işlemi parça parça (string manipulation) yapılarak gerçekleştirilir.

Büyük sayıyı karakter karakter dolaşıp her seferinde (mevcut_kalan * 10 + yeni_rakam) % 97 formülü kullanılarak matematiksel sınırlar aşılmadan doğru modüler sonuç elde edilebilir.

Vaka Analizi: Yanlış Yazım Senaryosu

Diyelim ki IBAN girerken bir hata yaptık ve TR56 yerine TR57 yazdık.

Sistem bunu algoritmadan geçirdiğinde:
0006200000012345678901292757 sayısını elde eder.
Bu sayının 97'ye bölümünden kalan 1 olmayacaktır. Sonuç 1 çıkmadığı için sistem "Bu IBAN geçersiz" uyarısı verir ve olası bir hatalı transferi daha siz "Gönder" tuşuna basmadan engeller.

Gördüğünüz gibi, bir hesap numarası sadece bankanın veritabanında saklı bir kayıt değil, kendi kendini doğrulayabilen matematiksel bir bütündür. Siz de İban Doğrulama ve Hesaplama aracımızı kullanarak herhangi bir hesabın MOD-97 doğrulamasından geçip geçmediğini saniyeler içinde test edebilirsiniz.

Hesaplamanızı yapmaya hazır mısınız?

İban Doğrulama ve Hesaplama ile saniyeler içinde net ve hatasız sonuca ulaşın.

Hesaplamayı Başlat →