Hepimiz Magnum çubuklarındaki, Cornetto ambalajlarındaki, Fritolay ürünlerinin içinden çıkan kartlardaki yaklaşık 8-10 karakterli kodları biliyoruz. Bu kodlarla internet sitelerinde çekilişlere katılabilir, yada oyunlar oynayabilirdik. Eğer çubuktaki kodları düzgün ve tam doğru bir şekilde girmezsek hata alırdık. Bu bize aslında kodların kafadan sıkılmadığını, belirli bir algoritmaya bağlı üretildiğini gösterirdi. Hepimiz operatörümüzün kontör yükleme hattını arayıp rastgele 10 tuşa basarak bedava kontör yüklemeyi denemişizdir, eminim. Çünkü ben hala şansımı denerim :)

10 karakter uzunluğunda, rastgele harf ve sayılar içeren (yada bir algoritmaya bağlı olarak oluşturulmuş) birkaç milyon adet adet kod üretmek çok zor değil. Ancak yanılmıyorsam bu veritabanı biraz fazla (yada çok çok fazla) büyük olacaktır. Basit bir sunucuda bu tablo içerisinde siteden girilen kodu arayıp eşleşmeyi kontrol etmek de biraz zaman alır gibime geliyor. Peki magnum, cornetto, turkcell, avea, vodafone ve Fritolay bunu nasıl yapıyor?

Tahminlerim doğruysa bütün olasılıkları bir veritabanına yükleyip buradan kontrol ettirmiyorlar. Girilen kodu bir şekilde inceleyip algoritmaya uyumlu olup olmadığını kontrol ediyorlar. Aynı T.C Kimlik numarasının ilk 10 hanesinin kendi içinde oluşturduğu algoritma ile 11. ilk 11 hanenin de kendi arasında oluşturduğu algoritmayla 12. haneyi vermesi gibi bir algoritma sistemi mevcut sanırsam.

Şimdi bir göz attım da buraya kadar zırvalamışım sanırım, kısa kesiyorum:

Bu gibi bir sistemim mantığı nedir, ne ne olurda neyi verir?
Böyle bir sistemi üretip kuran firmalar yada kişiler var mı (sadece meraktan, ülke çapında bir çekiliş yapma gibi bir niyetim yok, WM Çekiliş Aracı bana yetiyor :) )
Ve aşağı yukarı ne fiyattan yapıyorlardır bunu, 10 tane karakter için 10 bin lira falan istemiyorlardır umarım :p