Skip to content

Instantly share code, notes, and snippets.

@safaorhan
Last active October 3, 2022 13:36
Show Gist options
  • Save safaorhan/89790733fef96a31e23be50e3054bb2c to your computer and use it in GitHub Desktop.
Save safaorhan/89790733fef96a31e23be50e3054bb2c to your computer and use it in GitHub Desktop.
Java / Android TC Kimlik No Doğrulama
// Yalnızca UI onayı için kullanılmalıdır
// İş önemi olan durumlarda bu api'yi kullanmalısınız:
// https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?op=TCKimlikNoDogrula
private boolean isTCKNCorrect(String id) {
if (id == null) return false;
if (id.length() != 11) return false;
char[] chars = id.toCharArray();
int[] a = new int[11];
for(int i=0; i<11; i++) {
a[i] = chars[i] - '0';
}
if(a[0] == 0) return false;
if(a[10] % 2 == 1) return false;
if(((a[0] + a[2] + a[4] + a[6] + a[8]) * 7 - (a[1] + a[3] + a[5] + a[7])) % 10 != a[9]) return false;
if((a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8] + a[9]) % 10 != a[10]) return false;
return true;
}
@serkankaya
Copy link

serkankaya commented Feb 17, 2020

Kural tam değil ...
if(((a[0] + a[2] + a[4] + a[6] + a[8]) * 7 + (a[1] + a[3] + a[5] + a[7]))*9 % 10 != a[9]) return false;

@safaorhan
Copy link
Author

Selam @serkankaya, ilk firsatta kontrol edip guncelleyecegim. Tesekkurler 👍

@umutgultekn
Copy link

if(((a[0] + a[2] + a[4] + a[6] + a[8]) * 7 - (a[1] + a[3] + a[5] + a[7])) % 10 != a[9]) return false; bu kural doğru. 1,3,5,7 yi 9 ile çarpmıyoruz.

@kadoresmi00
Copy link

Teşekkürler hocam. Güzel bir sistem. Tebrikler 👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment