Bir bilgisayar mühendisi için programlama dili, öğrendiklerini sınadığı, deneyler yaptığı bir laboratuardır ve mühendisler deneylerini, kestiremedikleri sonuçları gözlemlemek için değil, öngördükleri sonuçları doğrulamak için yaparlar...
Bilirsiniz, tc kimlik numaraları rastgele oluşturulmuyor. Peki bu numaralar nasıl oluşturuluyor? Neden her 11 haneli numara tc kimlik no olamıyor. Bu sorunun cevabını ysk.gov.tr/ysk/secmenBilgi.jsp adresinde buldum. Adamlar tc kimlik no geçerlilik kontrolü için gereken fonksiyonu http://www.ysk.gov.tr/ysk/js/gen_validatorv2.js adresinde koymuşlar. Javascriptten vbasice çevirdim. Bu kodla rastgele bir şekilde geçerli tc kimlik numaraları elde edebilirsiniz. Hatta rastgele elde edilen numarayı sorgulatıp Türkiye'nin en şanssız adamını bulabilirsiniz :D Yok şaka, denemeyin bence, boşuna meşgul etmeyin sorgu sayfasını...
Private Function tcknkontrol(tckn As Double)
Dim dizi(1 To 9) As Integer
gecici = Int(tckn / 100)
gecici2 = Int(tckn / 100)
For i = 9 To 1 Step -1
dizi(i) = gecici2 Mod 10
gecici2 = Int(gecici2 / 10)
Next i
deg1 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
deg2 = dizi(8) + dizi(6) + dizi(4) + dizi(2)
toplam = deg1 * 3 + deg2
kontrol1 = (10 - (toplam Mod 10)) Mod 10
deg1 = kontrol1 + dizi(8) + dizi(6) + dizi(4) + dizi(2)
deg2 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
toplam = deg1 * 3 + deg2
kontrol2 = (10 - (toplam Mod 10)) Mod 10
gecici = gecici * 100 + kontrol1 * 10 + kontrol2
If gecici = tckn Then tcknkontrol = True Else tcknkontrol = False
End Function
Private Function rastgelets(altsinir, ustsinir As Double) As Double
Randomize
rastgelets = Int((ustsinir - altsinir + 1) * Rnd + altsinir)
End Function
Private Sub Form_Load()
Form1.Visible = False
Dim a As Double
a = 10000000000#
While tcknkontrol(a) = False
DoEvents
a = rastgelets(10000000000#, 99999999999#)
Wend
Clipboard.Clear
Clipboard.SetText a
MsgBox a & " - Numara panoya kopyalandı, kullanmak için : ctrl+v", vbInformation, "Geçerli bir TC kimlik no bulundu"
End
End Sub
Yayınlanma Tarihi: Blogun eski sürümü ile yazılmış, tarih kaydı bulunmuyor...
Anahtar Kelimeler: tckimlikno, kimlik, numarası, algoritması, nasıl, tckn
Onaylı yorum bulunmuyor.
Yorum/Görüş Bildir