DEV Community

Manuel Felipe Arias Pineda
Manuel Felipe Arias Pineda

Posted on

🇹🇷 Türkiye devs: Add TC Kimlik Numarası to the AI identity standard — Soulprint open source (30 min PR)

AI ajanları her gün kimlik doğrulaması olmadan kararlar alıyor. Soulprint — ZK Proofs, yerel, MIT.

🇹🇷 TC Kimlik Numarası Soulprint'te henüz yok. 30 dakikada PR gönderebilirsin.

TC Kimlik Algoritması

  1. hane: ((1+3+5+7+9. basamak)*7 − (2+4+6+8. basamak)) mod 10.
  2. hane: ilk 10 basamak toplamı mod 10.
const TR: CountryVerifier = {
  countryCode: "TR", countryName: "Turkey",
  documentTypes: ["tc_kimlik"],
  parse(ocrText: string): DocumentResult {
    const tc = ocrText.match(/(\d{11})/)?.[1] ?? "";
    return { valid: !!tc, doc_number: tc, country: "TR" };
  },
  validate(docNumber: string): NumberValidation {
    if(!/^\d{11}$/.test(docNumber)||docNumber[0]==="0") return {valid:false};
    const d=docNumber.split("").map(Number);
    const c10=((d[0]+d[2]+d[4]+d[6]+d[8])*7-(d[1]+d[3]+d[5]+d[7]))%10;
    const c11=d.slice(0,10).reduce((a,b)=>a+b,0)%10;
    return { valid: d[9]===c10 && d[10]===c11 };
  },
};
export default TR;
Enter fullscreen mode Exit fullscreen mode

💻 GitHub · Bir PR. Bir ülke.

Top comments (0)