Ausführliche Erklärung zum Algorithmus:
http://www.pruefziffernberechnung.de/P/Personalausweis-DE.shtml
Perl-Code vom CCC:
http://www.ccc.de/updates/2002/personalID
$a=r(999999998); $b=(r(50)+32)*10000+r(11)*100+r(27); $c=(r(5)+2)*10000+r(11)*100+r(27); printf("%09d%01dD << %06d%01d < %06d%01d <<<<<< %01d\n", $a, c($a), $b, c($b), $c, c($c), (c($a)*8 +c($b*100+c($b)*10) +c($c*10+c($c))) %10); sub r{ 1+int(rand($_[0])); } sub c{ $x=shift; $t=0; $s=1; while($x){ $t+= ($x%10)*$s; $x=int($x/10); $s=$s<6?(1+($s*2)):1 } $t%10 } #-----------FNORD