Hallo,
damit funktioniert es jetzt schon mal. :-)
jetzt noch die optionale angabe der behördenkennzahl und des geburts- und ablaufdatums einbauen und dann hab ich meinen eigenen personalausweis-nummern-generator. :-D
<?php
$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);
function r($i){
return(1+(int)(rand(0,$i)));
}
function c($x){
$t=0;
$s=1;
while($x){
$t+=($x%10)*$s;
$x=(int)($x/10);
$s=$s<6?(1+($s*2)):1;
}
return($t%10);
}
?>
zu finden ist das ganze auch beim ccc unter: http://www.ccc.de/updates/2002/personalID