45110 Yunusemre, Manisa, Türkiye
05556064244

Proje: TCKN Algoritması

T.C Kimlik Numaralarının aslı ilk 9 rakamından oluşur. Kalan 2 rakam ise doğrulama amaçlı eklenmiş. Şöyle ki ilk 9 rakamdan tek olanların toplamının 7 katından çift olanları çıkardığımızda elde ettiğimiz sonucun 10’a bölümünden kalan bize 10. rakamı veriyor.

Elde ettiğimiz 10 rakamı toplayıp, 10’a böldüğümüzde ise kalan bize 11. rakamı veriyor. Artık elimizde 11 haneli T.C Kimlik Numaramız var…

Bu mantığa dayanarak 2014 yılında yazdığım ufak programları eski blogumun yedeklerinde buldum. O günlerde yazdığımı aktarıyorum:

Bu benim Python ile yazdığım ilk program. T.C Kimlik Numarasının ilk 10 hanesini giriyorsunuz, tamamını veriyor.

# -*- coding: cp1254 -*-
print "TC Kimlik Numarasının ilk 10 rakamından, son rakamını bulma.."

a = raw_input("Lütfen TC Kimlik Numaranızın ilk 10 hanesini giriniz: ")
if len(a) == 10:
    print "İlk on hane", a
    b = int(a[0]) + int(a[1]) + int(a[2]) + int(a[3]) + int(a[4])+ int(a[5]) + int(a[6]) + int(a[7]) + int (a[8]) + int(a[9])
    c = b % 10
    print "Son hane", c
    print "Sonuç olarak, TC kimlik numaranızın tam hali: ", str(a) + str(c)
else:
    print "Yanlış veri girdiniz. Tek yapmanız gereken tc kimlik numaranızı son rakamı hariç yazmak. Bunu anlamak bu kadar zor mu?"

Daha sonra Pyhton’ı bırakıp aynısını ‘görselliğe de kapılarak’  VB.Net ile yazmışım. O da şu şekilde:

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Len(TextBox1.Text) = "10" Then
            Dim r1 As Int32 = Val(TextBox1.Text(0))
            Dim r2 As Int32 = Val(TextBox1.Text(1))
            Dim r3 As Int32 = Val(TextBox1.Text(2))
            Dim r4 As Int32 = Val(TextBox1.Text(3))
            Dim r5 As Int32 = Val(TextBox1.Text(4))
            Dim r6 As Int32 = Val(TextBox1.Text(5))
            Dim r7 As Int32 = Val(TextBox1.Text(6))
            Dim r8 As Int32 = Val(TextBox1.Text(7))
            Dim r9 As Int32 = Val(TextBox1.Text(8))
            Dim r10 As Int32 = Val(TextBox1.Text(9))
            Dim son As String = (r1 + r2 + r3 + r4 + r5 + r6 + r7 + r8 + r9 + r10) Mod 10
            TextBox2.Text = TextBox1.Text + son

Şöyle bir görüntüye sahip

Şuradan indirilebilir: www.ismailtunc.com/wp-dosyalar/tckn.rar

Sonra bakmışım desktop appler artık müzelik bir kavram olmuş, aynı şeyi 3. defa PHP ile kodlamışım.

Bu defa iki algoritmayı da birleştirmişim ki artık ilk 9 rakam yeterliymiş.

<?php 
$tc9 = @$_POST['tckmlk'];

if(strlen($tc9) == 9) {
$carp7 = 7 * ($tc9[0] + $tc9[2] + $tc9[4] + $tc9[6] + $tc9[8]);
$karakter10 = $carp7 - $tc9[1] - $tc9[3] - $tc9[5] - $tc9[7];
$tc9[9] = $karakter10 % 10;
$tc = $tc9;
$tc[10] = ($tc9[0] + $tc9[1] + $tc9[2] + $tc9[3] + $tc9[4] + $tc9[5] + $tc9[6] + $tc9[7] + $tc9[8] + $tc9[9]) % 10;
echo '<h4>' . 'T.C. Kimlik Numarası: ' . $tc . '</h4>'; }

elseif(strlen($tc9) == 0) { } else{
echo '<h4>' . '&nbsp; . 'Eksik giriş yaptınız!' . '</h4>'; } ?>

O da şu şekilde görünüyor:

Halen daha aktif, buyrun bakmak isterseniz: www.ismailtunc.com/tckn

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir