pillinetwork hesabınızla giriş yapın.

T.C. Kimlik No Akraba Algoritması

"T.C. Kimlik No Algoritması" yazısını okuduktan sonra bu numaralar ilgimi çekmeye başladı ve akrabaların kimlik numaraları arasında benzerlik varmı diye merak etmeye başladım.Biraz uğraşınca ortaya çıktı.. Kimlik numaraları bilindiği gibi 11 hanelidir.Önemli olan ilk 9 hanesidir.Son iki hanesi doğrulama amaçlıdır.

Rastgele bir tc no yazalım ( ilk 9 hane ):342165846
Bunu ilk 5 ve son 4 hane olacak şekilde parçalıyoruz.

Sizden yaşca aşağı inmek için (Kardeş , Kuzen vs.)
34216 => 5 basamaklı bu sayıyı 6 azaltıyoruz.
5846 => 4 basamaklı bu sayıyı 2 artırıyoruz.

Yeni ilk 9 hanemiz = 342105848

Sizden yaşca yukarı çıkmak için (Baba,amca vs.)
34216 => 5 basamaklı bu sayıyı 6 artırıyoruz.
5846 => 4 basamaklı bu sayıyı 2 azaltıyoruz.

Yeni ilk 9 hanemiz = 342225844

Son iki haneyi bulmak için ilk 9 haneden yararlanıyoruz.Onun içinde
Bu yazıyı okuyabilirsiniz.

Yalnız bu aşağı yukarı yön sistemi her zaman çalışmıyor alakasız sonuçlarda çıkarabiliyor.Bir süre sonra başka bir soyadınada geçebiliyor

Python ile girilen bir kimlik numarasından istenilen sayıda tc no üreten bir program yazmıştım onuda paylaşayım.

http://www.yak0.com/download/tcuretici.rar

tc kimlik üretici
tc kimlik üretici

Ürettiğiniz kimlik numaralarının kimlere ait olduğunu
https://secure.kamilkoc.com.tr/YolKartBasvuru.aspx Adresinden öğrenebilirsiniz

Php ile bu işlemi yapan bir kaç satır kod yazalım..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
function guvenlik($tc){ // İlk 9 haneden son 2 haneyi hesaplayan fonksiyon
$bir=substr($tc,-9,1);
$iki=substr($tc,-8,1);
$uc=substr($tc,-7,1);
$dort=substr($tc,-6,1);
$bes=substr($tc,-5,1);
$alti=substr($tc,-4,1);
$yedi=substr($tc,-3,1);
$sekiz=substr($tc,-2,1);
$dokuz=substr($tc,-1,1);
$tekler=$bir+$uc+$bes+$yedi+$dokuz;
$ciftler=$iki+$dort+$alti+$sekiz;
$islem=$tekler*7-$ciftler;
$on = $islem % 10 ; // Mod 10 alıyoruz.
$ilkon=$tekler+$ciftler+$on;
$onbir = $ilkon % 10 ;
$yenino=$bir.$iki.$uc.$dort.$bes.$alti.$yedi.$sekiz.$dokuz.$on.$onbir;
return $yenino;
}
function akrabayap($tcx,$yon,$kactane) { //Kimlik no oluşturma fonksiyonu
$tc = $tc=substr($tcx,0,9); // ilk dokuz haneyi alıyoruz
$ilkbes=substr($tc,0,5); //ilk bes
$sondort=substr($tc,-4,4); //son dort seklinde ayırıyoruz
if ($yon == 0) // Üretme yönünü kontrol ediyoruz. Sıfırsa aşağı 1 ise yukarı
{
for ($i = 1; $i <= $kactane ; $i++ )
{
$ilkbes=$ilkbes-6*$i;
$sondort=$sondort+2*$i;
$dokuzhane=$ilkbes.$sondort;
$yenitc=guvenlik($dokuzhane); // Son iki haneyi olusturuyoruz.
echo $yenitc."<br>";
}
}
if ($yon == 1)
{
for ($i = 1; $i <= $kactane ; $i++ )
{
$ilkbes=$ilkbes+6*$i;
$sondort=$sondort-2*$i;
$dokuzhane=$ilkbes.$sondort;
$yenitc=guvenlik($dokuzhane);
echo $yenitc."<br>";
}
}
}
akrabayap("35672345636",0,3); //Test edelim.
?>

Spacer
Spacer
/* yak0 yazdı. 13 Temmuz 2010 13:51. 17 yorum var */

Yorumlar

Evet Bu kayıt şekli seri üretmede mantıklı. ama bu işlem kendi kütüğüne kayıtlı olanlardan ilk tc kimlik sistemine geçirdiği zaman kayıtlılarda çalışıyor. Sisteme tc den sonra giren tc nolar siiz nolarla ilgisi yoktur.

Programı başka bir yere upload eder misin? Rapidshare diyor ki:
Error

This file is neither allocated to a Premium Account, or a Collector's Account, and can therefore only be downloaded 10 times.

This limit is reached.

To download this file, the uploader either needs to transfer this file into his/her Collector's Account, or upload the file again. The file can later be moved to a Collector's Account. The uploader just needs to click the delete link of the file to get further information.

Algoritmada yanlışlık var, çıkan tc numaraları sorgulandığında kütük numarasının 2'şer 2'şer olarak arttığını ve azaldığını tespit ettim,
ve atladığı kişileri bulmak için toplama çıkarmaları yarı yarıya düşürdüm ve oldu.
yaşça büyükleri bulmak için:
ilk 5 basamaklı sayıdan 6 yerine 3 artırılacak
sonraki 4 basamaklı sayı 2 yerine 1 azaltılacak
10 ve 11'inci sayıların hesaplamasında bir değişiklik yok.

Tek bir algoritma var diyemem.Bazı numaralarda daha değişik yöntemlerle çıkardığım olmuştu fakar pek kurcalamadım.Yarı yarıya düşürerekte yapılabilinir.
Link arzalanmış.Programı Buradan indirebilirsiniz

Emek harcanmış güzel fakat bu program kötü kişilerin eline geçerse o zaman sıkıntılı , neden?:
1. batmak üzere olan bir hastane bu tc nolarını alıp sgk 'dan provizyon alarak kendine para getirmesini sağlar
2. üretilen tc no lar ile kredi hırsızlıkları dolandırıcılık gibi suçlara girebilir
vs vs

mümkün mertebe bu vb. programların paylaşılması pek iyi niyetli bulmuyorum.

Bu algoritmayı kullanarak, acaba ilk tc numarası kimin diye baktım ve sonucu görünce şaşırdım,
ilk9 rakamı: 100000001
son iki doğrulama rakamları ile 10000000146 tc numarası atatürk'e ait tc numarası.

daha güzel tc numaraları da doğruladım bu arada, eğer satılabilse müşterisi çok olur diye tahmin ettiğim; 11111111110 ve 22222222220 şu an bu tc numaralarını kimliklerinde taşıyan vatandaşlarımız var:)

@cheyennee Atatürk'ün kimlik no'su diye verdiğin numara doğrulamadan geçmiyor.

http://tckimlik.nvi.gov.tr/Web/VerifyIdentityNumber.aspx

nereden doğrulattığını bilemeyeceğim ama bu verdiğim linkten deneyebilir herkes.

ismi bu şekilde girersen çıkar.
T.C. Kimlik No Doğrulama Sonuçları:
Adı: GAZİ MUSTAFA KEMAL PAŞA
Soyadı: ATATÜRK
Doğum Tarihi: 1881

TC Kimlik No ürettiğini söylediğin kod hatalı. Basamaklarla oynamana gerek yok, belli bir sabiti var. Şurada verdiğim linkte nasıl hesaplandığına dair daha basit ve anlaşılır bir kod var, onu incele;

Şurada da bu mantığı kullanarak üretilmiş çalışan bir program var...

Kodu koymadan önce test etmiştim ama hata olabilir bakarım.Yazını okudum öylede oluyor fakat böylede oluyor :) ben rakamlarla oynayarak yapıyordum.

http://oley.com/uye-kayit/ burada olacaktı birde www.isimtescil.net'in kayıt bölümünde oluyordu.

ilginçmiş ama yazının çarpıcı yanı alogaritması değil içerikteki TC sordulanabilecek yerleri göstermesi... Tc mizi hemen her devlet kurumunda kendmize özel bir şifre gibi kullanıyoruz başkaları öğrenirse bizim adımııza kredikartı bile çıkarabiliyor... Garip

/* KApılar... */

Sorumluluk e-devlet uygulamalarınındır.Yazının paylaşımında art niyet aramamak gerekir.Sonuçta o siteleri çoğu kişi biliyor.3 kişinin daha öğrenmesi yada öğrenmemesi vs. vs. tartışılacak şeyler değil bunlar.

Kodaman'ın diğer TCKimlik yazısına da aynısını yazdım, belki buradaki arkadaşlardan da yanıtlayacak olanlar çıkabilir diye tekrarlıyorum.

Genel olarak 2. bloğun 30'ar azalırken 3. bloğun 1'er arttığı yani numaralar arasında 29999 fark olduğu söylemiş. Peki o zaman 9 hane ile (999milyon/29999) sadece 34 milyon kişinin adreslenebildiğini de fark etmiş olmalısınız. Hatalımıyım ?

Çoğu kişi neden bir algoritmaya bağlı üretildiğinden yakımış. Bu hiç önemli değil 9 haneli bir sayı kümesi içinden 150 milyon sayı geçerliyse (1/6 oranında) emin olunki okadar büyük bir kümeden geçerli bir bağıntı üretilebilir. Yani, tckn rastgele üretilse bile sayı uzayının yeterince büyük olmaması ve buna karşın tckn kümesinin uzaya göre gereğinden büyük olması nedeni ile rahatlıkla bir bağıntı/formül üretebilirsiniz. Bu algoritmayı sorun olarak görmeyin bence.

Ayrıca PHP doğrulama kodunu sayfandam görebilirsiniz.
http://www.tankado.com/php-ile-tc-kimlik-numarasini-dogrulamak/

Arkadaşlar TC kimlik no ile neler yapabileceğinizi bilseniz şaşarsınız. TC Kimlik No üreteci gibi yazılımlar kötü niyetli kişilerin elinde büyük paralara dönüşebilir. Bırakın algoritmasını, birazıda devlet sırrı olarak kalsın.

Tc kimlik numarasındaki algoritma bitmiştir, burda bahsedilen son iki rakamdan başka algoritması yok. ilk 9 rakam ilk verildiğinde akrabalar için 29999 artarak ilerlemiş fakat bu aradaki numaraların boş olduğu anlamına gelmiyor. ilk 9 rakam ardışık ilerlerken son iki rakam algritması ile belirleniyor.

yüksek paralar eder deniyor fakat tüm ülkenin tc numaralarını ele geçirip satan 4 kişi yakalandı geçenlerde, tüm tcleri 70 TL karşılığında isteyene satmışlar, o kadar ucuz yani. ve tc numaralarını yüksek seçim kurulunun güvenlik zaafiyetinden faydalanarak ele geçirmişler diye biliyorum.

nüfus ve vatandaşlık işleri müdürlüğünün değiştirilmesi düşünülen chipli kimlik kartlarında yeni güvenlik önlemleri alması gerek gibi görünüyor...

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork