Ansicht umschalten
Avatar von
  • unbekannter Benutzer

36 Beiträge seit 07.02.2000

Gültige Personalausweisnummer berechnen

Die Alterskontrolle ist mehr als fragwürdig, da gültige
Personalausweisnummer leicht berechnet werden können.

Hier ein Beispiel in JavaScript: <script language="javascript">
  <!--

   function pruefziffer(z){
     /* letzte Stelle durch die richtige Prüfziffer ersetzen */
     var r=0,t,i;z=(z+"").substring(0,(z+"").length-1);
     for (i=0;i<z.length;i++)
      
{t=(z.charAt(i)*(7-3*(i%3)-(i%3)%2))+"";r+=1*(t.charAt(t.length-1));}
     return (z+(r+"").charAt((r+"").length-1));
   }

   var persid="",gebjahr="",abljahr="",gespz="";
   /* gültige Behördenkennzahlen */
   var amtsnr=new Array( 
      
0417,1021,1022,1297,1307,1350,1354,1388,1456,1487,1492,1508,1591,1649
,1718,
      
1749,1808,1855,1865,2005,2007,2019,2040,2082,2166,2245,2262,2270,2315
,2389,
      
2399,2406,2458,2466,2469,2635,2635,2635,4002,4027,4084,4095,4097,4101
,4106,
      
4158,4309,4309,4765,4847,5007,5045,5071,5123,5140,5152,5197,5206,5208
,5230,
      
5284,5289,5340,5367,5369,5432,5442,5447,5502,5520,5585,5607,5610,5663
,5745,
      
5751,6008,6058,6467,6590,6786,6828,6839,6862,6924,7009,8012,8015,8318
,8351,
      
8411,8623,8658,8688,8842,8850,8912,8971,9262,9272,9304,9358);
    var i,tag,monat;
    /* volljährig */
    gebjahr = "0"+((new
Date()).getYear()-22-Math.ceil(Math.random()*15))%100;
    gebjahr = gebjahr.substring(gebjahr.length-2,gebjahr.length);
    tag     = "0"+(Math.ceil(Math.random()*26)+1);
    tag     = tag.substring(tag.length-2,tag.length);
    monat   = "0"+(Math.ceil(Math.random()*10)+1);
    monat   = monat.substring(monat.length-2,monat.length);
    gebjahr = gebjahr+monat+tag+"0";
    /* nicht abgelaufen */    
    abljahr = "0"+((new
Date()).getYear()+2+Math.ceil(Math.random()*2))%100;
    abljahr = abljahr.substring(abljahr.length-2,abljahr.length);
    tag     = "0"+(Math.ceil(Math.random()*26)+1);
    tag     = tag.substring(tag.length-2,tag.length);
    monat   = "0"+(Math.ceil(Math.random()*10)+1);
    monat   = monat.substring(monat.length-2,monat.length);
    abljahr = abljahr+monat+tag+"0";
    /* gültige Behördenkennzahlen + zufällige Nummer */
    persid=""+amtsnr[Math.ceil(Math.random()*amtsnr.length)];
    persid+=Math.ceil(Math.random()*2)+""+Math.ceil(Math.random()*4);
    for (i=1;i<=4;i++) {persid+=""+(Math.ceil(Math.random()*8)+1);}
    /* richtige Prüfziffern berechnen */
    persid  = pruefziffer(persid);
    gebjahr = pruefziffer(gebjahr);
    abljahr = pruefziffer(abljahr);
    gespz   = pruefziffer(persid+gebjahr+abljahr+"0");
    gespz   = gespz.charAt(gespz.length-1);
    /* Personalausweisnummer mit gültigen Prüfziffern ausgeben */
    document.writeln("gültige Ausweisnummer:
"+persid+"D<<"+gebjahr+"<"+abljahr+"<<<<<<<"+gespz);   

  //-->
 </script>


Bewerten
- +
Ansicht umschalten