<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TC Kimlik No Algoritması arşivleri - Dinamik Network</title>
	<atom:link href="https://dinamiknetwork.com/e/tc-kimlik-no-algoritmasi/feed/" rel="self" type="application/rss+xml" />
	<link>https://dinamiknetwork.com/e/tc-kimlik-no-algoritmasi/</link>
	<description>Bilişim Dünyasına Profesyonel Yaklaşım</description>
	<lastBuildDate>Fri, 25 Aug 2023 13:29:19 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.12</generator>

<image>
	<url>https://dinamiknetwork.com/wp-content/uploads/2020/01/cropped-ikon-1-1-32x32.png</url>
	<title>TC Kimlik No Algoritması arşivleri - Dinamik Network</title>
	<link>https://dinamiknetwork.com/e/tc-kimlik-no-algoritmasi/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>TC Kimlik No Doğrulama Algoritması</title>
		<link>https://dinamiknetwork.com/tc-kimlik-no-dogrulama-algoritmasi/</link>
					<comments>https://dinamiknetwork.com/tc-kimlik-no-dogrulama-algoritmasi/#comments</comments>
		
		<dc:creator><![CDATA[Mustafa Bükülmez]]></dc:creator>
		<pubDate>Wed, 18 Mar 2020 07:00:57 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[TC Kimlik No Algoritması]]></category>
		<category><![CDATA[TC Kimlik No Doğrulama Algoritması]]></category>
		<category><![CDATA[tc kimlik no doğrulama algoritması c#]]></category>
		<category><![CDATA[Tc Kimlik No Doğrulama Algoritması nedir]]></category>
		<category><![CDATA[tc kimlik no sorgulama algoritması]]></category>
		<category><![CDATA[tc no doğrulama]]></category>
		<guid isPermaLink="false">https://dinamiknetwork.com/?p=1340</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar. Yoğunluğumdan dolayı uzun zamandır bir yazı yazamıyordum. Bir süre düşündüm ne yazsam diye aklıma bu yazı geldi. Gelin Tc Kimlik No Doğrulama Algoritması&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/tc-kimlik-no-dogrulama-algoritmasi/">TC Kimlik No Doğrulama Algoritması</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar. Yoğunluğumdan dolayı uzun zamandır bir yazı yazamıyordum. Bir süre düşündüm ne yazsam diye aklıma bu yazı geldi. Gelin <strong>Tc Kimlik No Doğrulama Algoritması nedir</strong> ona bakalım.</p>
<h2><strong>TC Kimlik No Doğrulama Algoritması</strong></h2>
<p><strong>TC Kimlik numaraları</strong>, her Türk Vatandaşına doğumunda verilen 11 karakterli bir sayıdır ve benzersizdir. Yani aynı <strong>TC Kimlik numarası</strong>ndan bir tane daha yoktur. Ben önceleri hep bir sıraya göre gittiklerini düşünüyordum. Ancak bir gün ailemden iki kişinin TC Kimlik numaraların benzerlik gösterdiğini fark ettim. Bu benzerlik ilk 1,2,3 hane ile 7,8,9 hanelerin aynı olmasıydı. O gün aslında sıradan gitmediğini belirli bir algoritmaya göre verildiğini anlamıştım.</p>
<p>Şimdi gelelim bu <strong>TC No Doğrulama</strong> algoritmasına.</p>
<p>&nbsp;</p>
<h3><strong>TC Kimlik No Doğrulama Algoritması</strong></h3>
<p>Bu algoritma 5 adımlı yani 5 şart var. Bu 5 şartın hepsine de uyulması gerekiyor.</p>
<p>1 &#8211; TC Kimlik Numaraları 11 karakter olmak zorundadır.</p>
<p>2 &#8211; Her hanesi bir rakam olmaldır.</p>
<p>3 &#8211; İlk hanesi 0 (sıfır) olamaz</p>
<p>4 &#8211; 1, 3, 5, 7, 9 basamaklarının toplamının 7 katından, 2, 4, 6, 8 basamaklarının toplamını çıkarttığımızda elde ettiğimiz sonucun 10&#8217;a bölümünden kalan sayı (MOD10)  10. basamaktaki sayıyı vermelidir.</p>
<p>5 &#8211; İlk 10 hanenin toplamından elde edilen sonucun 10&#8217;a bölümünden kalan sayı (MOD10) 11. basamaktaki sayıyı vermelidir.</p>
<p>Gördüğünüz gibi 5 şarttan biri tutmuyor ise ilgili<strong> TC Kimlik No</strong> doğru değildir yani Türkiye&#8217;de hiçbir vatandaşa verilmemiş bir sayıdır.</p>
<h3></h3>
<h3><strong>TC Kimlik No Doğrulama Algoritması </strong><strong>C#</strong></h3>
<p>Ben C# ile yazılım geliştiren biri olduğumdan dolayı bu yazımda C# ile bu algoritmanın nasıl yapıldığını vermek istiyorum. Ben hali hazırda zaten bu algoritmayı projelerimde kullanıyorum.</p>
<pre class="prettyprint lang-csharp" data-start-line="1" data-visibility="visible" data-highlight="" data-caption="">public static string Kontrol(string TCno)
        {
            int Algoritma_Adim_Kontrol = 0, TekBasamaklarToplami = 0, CiftBasamaklarToplami = 0;

            if (TCno.Length == 11) Algoritma_Adim_Kontrol = 1;
            foreach (char chr in TCno) { if (Char.IsNumber(chr)) Algoritma_Adim_Kontrol = 2; }
            if (TCno.Substring(0, 1) != "0") Algoritma_Adim_Kontrol = 3;

            int[] arrTC = System.Text.RegularExpressions.Regex.Replace(TCno, "[^0-9]", "").Select(x =&gt; (int)Char.GetNumericValue(x)).ToArray();

            for (int i = 0; i &lt; TCno.Length; i++)
            {
                if (((i + 1) % 2) == 0)
                    if (i + 1 != 10) CiftBasamaklarToplami += Convert.ToInt32(arrTC[i]);
                    else
                    if (i + 1 != 11) TekBasamaklarToplami += Convert.ToInt32(arrTC[i]);
            }

            if (Convert.ToInt32(TCno.Substring(9, 1)) == (((TekBasamaklarToplami * 7) - CiftBasamaklarToplami) % 10)) Algoritma_Adim_Kontrol = 4;
            if (Convert.ToInt32(TCno.Substring(10, 1)) == ((arrTC.Sum() - Convert.ToInt32(TCno.Substring(10, 1))) % 10)) Algoritma_Adim_Kontrol = 5;

            if (Algoritma_Adim_Kontrol == 5)
                return "TC No Doğru";
            else
                return "TC No Yanlış";
        }</pre>
<p>Kodlarda gördüğünüz gibi ilk üç adımın kontrolü çok basit. Toplamda uyulması gereken 5 şart olduğundan dolayı Algoritma_Adim_Kontrol değişkenini, her adımda 1 arttırarak, şartı kontrol eden kodların çalışmasına göre test edilen <strong>TC Kimlik No</strong>&#8216;sunun doğru olup olmadığına karar veriyoruz.</p>
<p>For döngüsünde index sayısına bir ekleyerek, modunu alıyoruz ve hangi basamakta olduğumuzu buluyoruz (1,3,5,7,9 yada 2,4,6,8). Eğer çift sayısı basamaklardaysak değeri, CiftBasamaklarToplami değişkenine, değilse TekBasamaklarToplami değişkenine ekliyoruz.</p>
<p>Bu işlemden sonra da zaten mod alma işlemleri ile 10. ve 11. karakterleri kontrol ettiriyoruz.</p>
<p>Algoritma_Adim_Kontrol değişkeni 5 değerini aldıysa test edilen<strong> TC Kimlik Numarası Doğrulama Algoritması</strong> geçilmiş demektir.</p>
<p>**</p>
<p>Ben burada işlemin tek seferde tamamlanması yoluna giderek işlemi yaptım. Ancak bu yöntemden farklı olarak Her adımı bağımsız olarak kontrol ettirebilir ve ilk hatada kontrolü durdurabiliriz.</p>
<hr />
<p><strong>TC Kimlik No Algoritması</strong> yazımda bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.</p>
<p>Diğer yazılarıma gitmek isterseniz <a href="https://dinamiknetwork.com/author/mustafabukulmez/" target="_blank" rel="noopener noreferrer">buraya</a> tıklayabilirsiniz.</p>
<p>Sağlıcakla ve takipte kalın.</p>
<p>&nbsp;</p>
<hr />
<p>Bana destek olmak isterseniz <strong><a href="https://www.buymeacoffee.com/mustafabukulmez" target="_blank" rel="noopener">bir kahve ısmarlayabilirsiniz</a></strong> veya <strong><a href="https://linktr.ee/mustafabukulmez" target="_blank" rel="noopener">diğer hesaplarımdan</a></strong> takip edebilirsiniz.</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/tc-kimlik-no-dogrulama-algoritmasi/">TC Kimlik No Doğrulama Algoritması</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dinamiknetwork.com/tc-kimlik-no-dogrulama-algoritmasi/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
