NUR ab 18 !

Also wens von euch interesiert, das hat mir ein kumpel gerade gemacht... CODE4FREE ;-);-);-)

PHP:
<?
# Prüfalgorhytmusfunktion
function check_number($number=0){
	$p = 7;
	for($i=0; $i < strlen(strval($number)); $i++){
		$return += substr($number[$i]*$p, -1);
		if($p==1) $p=7;
		elseif($p==3) $p=1;
		elseif($p==7) $p=3;
	}
	return $return;
}
# Personalausweisnummerprüffunktion
function perso_check($id=0){
	$array = explode(" ", $id);
	if(substr(check_number(substr($array[0], 0, 9)), -1)==substr($array[0], 9, 1)){ $check["serial"] = true; }
	if(substr(check_number(substr($array[1], 0, 6)), -1)==substr($array[1], 6, 1)){ $check["birthday"][0] = true; }
	if(substr(check_number(substr($array[2], 0, 6)), -1)==substr($array[2], 6, 1)){ $check["expiration"][0] = true; }
	if(time() < mktime(0,0,0, substr($array[2], 2, 2) , substr($array[2], 4, 2) , substr($array[2], 0, 2))){ $check["expiration"][1] = true; }
	if(substr(check_number(substr($array[0], 0, 10).substr($array[1], 0, 7).substr($array[2], 0, 7)), -1)==$array[3]){ $check["all"] = true; }
	if($check["serial"] == true && $check["birthday"][0] == true && $check["expiration"][0] == true && $check["expiration"][1] == true && $check["all"] == true){ return true; }
	else{ return false; }
}
# Beispielaufruf
################
# Wen's interessiert, Aufbau der Personalnummer: Seriennummer+Prüfziffer der Seriennummber+Nationalität | Geburtsdatum(von hinten)+Prüfziffer des Geburtsdatums | Ablaufdatum(von hinten)+Prüfziffer des Ablaufdatums | Prüfziffer über alle Zahlen
# Als Beispiel: 123456789D 1234567 1234567 0
# Nun endlich der Funktionsaufruf
if(perso_check("123456789D 1234567 1234567 0")==true){ echo "Personalnummer korrekt"; }
else{ echo "Personalnummer falsch"; }
?>
 
http://www.aspheute.com/artikel/20020507.htm
ist zwar c# aber allgemein wird diese nummer da auch erklärt ;)

und bei den weiterführenden links finden sich diese artikel:

http://www.pruefziffernberechnung.de/P/Personalausweis.shtml
(man siehe und staune der wurde ja schon geposted *g*)


http://365-24-7.net/perso/
Berechnung der Personalausweis-Nummern inklusive Prüziffern


aus den google groups:
http://groups.google.com/groups?selm=8ns4ll$c2t$13$1@news.t-online.com&output=gplain

und noch einer:
http://www.sylence.de/perso/

aspheute.com kann halt doch so einiges :-) :rolleyes:

viel spaß weiterhin
 
Bei funzt das nicht!!!!!!!!!!!

Hi

Sieht ja echt stark aus euer ab 18 check.
Doch irgendwie wenn ich das Skript auf meinen Server tue und es dann teste mit meiner Personummer, dann schickt er mich immer nach Disney!

Da will ich aber garnicht hin.
Und da ich schon über 18 bin, sollte er mich eigentlich auch lassen!


Wo liegt das Problem?
Habt ihr das auch, oder geht es nur mir so???

MfG

Alex
 
Wenn der Algorithmus zur Berechnung allgemein bekannt ist und dieser somit fingiert eingegeben werden kann, sollte sich jeder zwangsverpflichtete Betreiber einer solchen ü18 Seite, welcher die Korrektheit des Personalsausweises nicht sicherstellen kann - zB per Fax - , die Frage stellen, wie hoch die Chancen stehen, dass im Falle eines Missbrauchs des Algorithmus auf dessen Seite, dieser auch durch einen staatlichen Machtapparat willkürlich überprüft würde.
 
Zuletzt bearbeitet:
Aloha!!!

Naja also irgendwie blicke ich nicht mehr ganz durch.
Ich habe nun zur Sicherheit auch noch die Persos 2er Kumpels gecheckt und die Funktioneieren auch nicht. :(

Der Beitrag hier ist ja schon was älter, aber woran könnte das liegen!
So blind gesagt, würde ich meinen, das dort ein Fahler im Algorithmus ist. :(

Die Aussage von Ohio scheint mir plausiebel.

Hat denn jemand von euch weitere Erfahrungen damit gemacht?
Oder sogar schon ein Skript, das wirklich funktioniert???

MfG

Alex
 
Sicherheit!

Hallo,

Ein kleiner, wichtiger Hinweis!
der Prüfalgorithmus ist auf vielen Seiten dokumentiert! Es ist daher auch kein Problem für eine jüngere Personen einen gültigen zu rekonstruieren, bzw, den Algo. so umzukehren, dass er gültige Ausweisnummern zu Tage fördert! Sicher ist das in keinem Fall!

Greetz
CreAte
 
Zurück