personalausweis-skript
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
moin moin moin leude,
wie progged man mit php ein personalausweisskript.
also man gibt in ein form so daten wie name nachname und geburtsdatum ein und ein aus diesen daten ermittelten hashwert (persoausweisnummer).
das skript kontrolliert, ob dieser hashwert stimmt.
aber mit welchem algorithmus wird aus den persodaten die nummer ermittel? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich kann mir das noch nicht so richtig vorstellen?!
-
n?, es muss ein richtiges skript sein, dass nicht blo? die nummer ?berpr?ft, ob die existieren kann,
sondern es muss auch aus den persodaten die nummer ermitteln. mir gen?gt auch blos der algorithmus. -
is relatief einfach, ich hatte mal eins, habe es abe3r wieder geschrottet...
ich weis aber noch wie es ging...
wenn du mir mal ein tag zeit gibts schreib ich dir den code... -
<?php
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;
}
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
if(perso_check("123456789D 1234567 1234567 0")==true) {
echo "Personalnummer korrekt";
}
else {
echo "Personalnummer falsch";
}
?>
sowas vielleicht?
Beitrag ge?ndert am 20.10 14:30 von julian182 -
naja wenn man bei goggle nach nem perso sucht kann man au die 18er sperre umgehen ;)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage