ID Algorithmus für Personalausweise

Nur damit ich die Links und die Source nicht verlege, wenn ich sie mal brauche:

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