Bazılarında ise farklı algoritma vardır.
Örnek veriyorum.
QWERTYUIOPASDFGHJKLZXCVBNM gibi klavyedeki harfleri sırayla yazdık.
Şimdi burada şu tarz bir algoritma yazılabilir...
Eğer çubuktan çıkan şifrenin ilk harfi Q ise, qdan itibaren ikişer karakterli harfleri al. (Q-E-T-U...)
Eğer çubuktan çıkan şifrenin ilk harfi W ise, wden sonraki ikişer karakterli harfleri al.(W-R-Y-I..)
Daha sonra bunları girilen şifre ile eşleştir. :)
Böylelikle veritabanına gerek kalmadan sorgulama yapılabilir. Tabi bu ufak bir iki şifre için geçerli olabilecek bir algoritma. Milyonları kapsayacak bir algoritma için çook daha gelişmiş şeyler yapılır. (matematikteki mod kavramını vs. iyi biliyorsanız zorluk çekmezsiniz.. :))
Basitçe bu mantık da kullanılabiliyor. :)
Edit:
Aklıma gelmişken TC Kimlik No algoritması şu şekildedir;
TC Kimlik numaraları 11 basamaktan oluşmaktadır.
İlk 9 basamak arasında kurulan bir algoritma bize 10. basmağı, ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.
11 hanelidir.
Her hanesi rakamsal değer içerir.
İlk hane 0 olamaz. 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10'a bölümünden kalan, yani Mod10'u bize 10. haneyi verir.
1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10'a bölümünden kalan, yani Mod10'u bize 11. haneyi verir.
Hayal gücünü kullan. :)