IBAN Checksum (Mod-97) Nasıl Çalışır?

IBAN'daki kontrol basamakları (checksum), ISO 13616 standardında tanımlı Mod-97 algoritması ile hesaplanır. Bu algoritma, IBAN'ın matematiksel olarak doğru olup olmadığını kontrol etmenizi sağlar. Tek bir rakamın yanlış yazılması bile checksum hatası verir; böylece yanlış hesaba transfer riski azalır.

ISO 13616 Standardı

IBAN formatı ve doğrulama kuralları, Uluslararası Standardizasyon Örgütü (ISO) ve Avrupa Bankacılık Standartları Komitesi (ECBS) tarafından belirlenir. ISO 13616 standardı, IBAN'ın yapısını, uzunluğunu ve checksum hesaplama yöntemini tanımlar. Tüm IBAN kullanan ülkeler bu standarda uymak zorundadır.

Mod-97 Algoritmasının Adımları

Checksum doğrulaması için IBAN üzerinde şu işlemler yapılır:

1. Yeniden Düzenleme

IBAN'ın ilk 4 karakteri (ülke kodu + kontrol basamakları) sondan alınır ve IBAN'ın sonuna taşınır. Örneğin TR33 0006 1000 1978 6457 8413 26 için:

  • Önce tüm boşluklar kaldırılır: TR330006100019786457841326
  • İlk 4 karakter (TR33) sona taşınır: 0006100019786457841326TR33

2. Harfleri Sayıya Çevirme

IBAN'da A=10, B=11, C=12 ... Z=35 olarak kodlanır. TR için T=29, R=27; 33 zaten rakam olduğu için aynen kalır. Yani TR33 → 292733. Yeniden düzenlenmiş string: 0006100019786457841326292733

3. Mod-97 Hesaplama

Bu büyük sayı 97'ye bölünür. Kalan 1 ise IBAN geçerlidir. Formül: sayı mod 97 = 1. Eğer kalan 1 değilse, IBAN hatalıdır. Hesaplama elle yapılabilir ancak 26 karakterlik bir sayı için bölme işlemi zahmetlidir; bu nedenle doğrulama araçları kullanılır.

Örnek Hesaplama

TR33 0006 1000 1978 6457 8413 26 örneğinde:

  1. Boşluksuz: TR330006100019786457841326
  2. İlk 4'ü sona: 0006100019786457841326TR33
  3. TR → 2927, 33 kalır: 0006100019786457841326292733
  4. Bu sayı 97'ye bölünür. Kalan 1 ise geçerli.

0006100019786457841326292733 mod 97 = 1 ✓

Neden 97?

97 asal bir sayıdır ve büyük sayılarda bölme işlemi sırasında hata dağılımını iyi yapar. ISO komitesi, tek haneli hataları ve birçok iki haneli hatayı yakalayacak bir modül seçmiştir. Mod-97, tek karakter değişimlerinin neredeyse tamamını tespit eder.

Checksum Hataları Ne Anlama Gelir?

Mod-97 doğrulaması başarısız olursa, IBAN'da en az bir hata vardır. Algoritma, tek karakter değişimlerinin büyük ölçüde farkına varır ve kullanıcıyı uyarır. Çok nadir durumlarda iki farklı hata birbirini götürür ve hatalı IBAN yine de "geçerli" çıkabilir; bu yüzden banka adı kontrolü de önemlidir.

Olası hata nedenleri:

  • Bir rakamın yanlış yazılması (örn. 5 yerine 6)
  • İki karakterin yer değiştirmesi (transpozisyon)
  • Eksik veya fazla karakter
  • O/0 veya I/1 gibi benzer karakter karışıklığı
Checksum geçerli olsa bile IBAN gerçekte var olmayan bir hesaba ait olabilir. Checksum yalnızca format doğruluğunu kontrol eder; hesabın bankada mevcut olup olmadığını doğrulamaz.

Kendi IBAN'ınızı Kontrol Etme

IBAN doğrulama araçları bu algoritmayı otomatik uygular. Siz yalnızca IBAN'ı girin; araç Mod-97 hesaplamasını yapar ve sonucu anında gösterir. Çevrimdışı çalışan araçlar, IBAN'ınızı hiçbir sunucuya göndermez; tüm işlem tarayıcınızda yerel olarak gerçekleşir.

Checksum Neden Önemli?

Checksum olmadan, yanlış yazılan bir IBAN yanlış hesaba para gönderimine yol açabilir. Mod-97 sayesinde tek karakter hatalarının büyük kısmı yakalanır. Örneğin 5 yerine 6 yazıldığında, kalan 1 olmayacağı için sistem IBAN'ı reddeder. Bu, kullanıcıyı hatayı fark etmeye zorlar ve yanlış transferi önler.

Mod-97 ile IBAN'ınızı doğrulayın

IBAN Doğrulama Aracına Git