personalausweisnummer checken

Diskutiere personalausweisnummer checken im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; hi, suche ein cgi-script mit den man personalausweisnummern auf gültigkeit überprüfen kann. ich brauch das für die alterskontrolle auf eines...
  • personalausweisnummer checken Beitrag #1
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
hi,

suche ein cgi-script mit den man personalausweisnummern auf gültigkeit überprüfen kann.
ich brauch das für die alterskontrolle auf eines meiner webseiten.
es muß aber cgi bzw. perl sein. php nützt mir nix.

vielen dank im voraus!
 
  • personalausweisnummer checken Beitrag #2
Kalle-Klump

Kalle-Klump

Verdienter Ex-Admin
Dabei seit
21.05.2001
Beiträge
26.069
Reaktionspunkte
17
Original geschrieben von DanielxK48x
hi,

suche ein cgi-script mit den man personalausweisnummern auf gültigkeit überprüfen kann.
ich brauch das für die alterskontrolle auf eines meiner webseiten.
es muß aber cgi bzw. perl sein. php nützt mir nix.

vielen dank im voraus!

Vielleicht nutzt Dir das hier etwas...
http://berlin.ccc.de/cgi-bin/perso
 
  • personalausweisnummer checken Beitrag #3
Lordazrael

Lordazrael

Bekanntes Mitglied
Dabei seit
15.10.2000
Beiträge
693
Reaktionspunkte
0
Ort
Bad Offenbach
also ich hab mit vor jahren auch in perl ein script geschrieben, das diese nummern generiert. das dann umzuschreiben damit es nicht generiert, sondern eingegebene prüft ist kein grosses ding, allerdings habe ich da keine zeit dazu.

ich muss mal in meinem codearchiv stöbern wo dieses skript ist, ist schon lange her daß ich es geschrieben habe. war kein grosses ding gewesen, habe im netz gesucht nach angaben, wie sich die 4 prüfsummen errechnen und der rest war dann nur das ganze in perl bequem generieren zu lassen.

ich suchs dir raus ....

perl rulez
 
  • personalausweisnummer checken Beitrag #4
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
supi dank dir.

das spätere umschreiben als checker is kein ding für mich.
ich brauch halt erstmal ne basis.
thx nochmal im voraus fürs script!
 
  • personalausweisnummer checken Beitrag #5
Lordazrael

Lordazrael

Bekanntes Mitglied
Dabei seit
15.10.2000
Beiträge
693
Reaktionspunkte
0
Ort
Bad Offenbach
errechnung via
http://infosoc.uni-koeln.de/pipermail/php/Week-of-Mon-20000814/026684.html

ansatz der prüfroutinen aus meinem skript:

perl:
PHP:
....
sub persomake {

	# Umwandeln Datum
	my ($a, $b, $c) = split(/\./, $in{'b2'});
	$b2 = "$c$b$a";
	$b2 = substr ($b2,0,6);
	my ($pruefziffer, $summe) = &calculate($b2);
	$b2 = "$b2$pruefziffer";
	print "$b2";
	print "<br><br>";

	# Umwandeln Ablaufdatum
	my ($a, $b, $c) = split(/\./, $in{'b3'});
	$b3 = "$c$b$a";
	$b3 = substr ($b3,0,6);
	($pruefziffer, $summe) = &calculate($b3);
	$b3 = "$b3$pruefziffer";
	print "$b3";
	print "<br><br>";	

	# Umwandeln Block 1
	$b1 = $in{'b1'};
	($pruefziffer, $summe) = &calculate($b1);
	$b1 = "$b1$pruefziffer";
	print "$b1";
	print "<br><br>";	

	# Und jetzt die Endsumme, 3 mal kalkulieren mit der Prüfsumme
	my $b4 = "$b1$b2$b3";
	($pruefziffer, $summe) = &calculate($b4);
	$endziffer = $endziffer + $summe;

	$endziffer = $endziffer % 10;
	print "$endziffer";

	print "<br>Personalausweisnummer:<br>";
	$nummer = "$b1\D<<$b2<$b3<<<<<<$endziffer";
	print $nummer;
}

sub calculate {
	
	my $value = $_[0];
	local ($x, $y, $pruefziffer, $summe, $laenge, $stelle);
	$laenge = length($value);	
	for ($x=1; $x<=$laenge; $x++) {
		$y++;
		$y=1 if ($y==4);
		$stelle = substr($value, ($x-1), 1);
		if ($y==1) { $pruefziffer = $pruefziffer + ($stelle*7); }
		elsif ($y==2) { $pruefziffer = $pruefziffer + ($stelle*3); }
		elsif ($y==3) { $pruefziffer = $pruefziffer + ($stelle*1); }				
	}
	$summe = $pruefziffer;
	$pruefziffer  = $pruefziffer % 10;
	print "<b>$pruefziffer, $summe</b><br>";
	return ($pruefziffer, $summe);
}
....

hoffe, daß dir der ansatz hilft
 
  • personalausweisnummer checken Beitrag #6
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
big thx erstmal für das script.
wenn ich es umgeschrieben habe
werd ich mich hier nochmal melden und das resultat aufzeigen. :)
 
  • personalausweisnummer checken Beitrag #7
WEBSTER

WEBSTER

Bekanntes Mitglied
Dabei seit
25.11.1999
Beiträge
1.502
Reaktionspunkte
0
Ort
COLOGNE
Salute,

für alle die es Interessiert...:



The Serial Number:
==================

The serial number of the german passport consists of 10 digits.
You can find this number on the right corner on the top of your passport.
The first 4 digits are defining the issuing authority of the passport.
The next 5 digits are a continuous number of issued passports from the
defined authority. The 10th digit is the checksum.

[A] [C]
[1234] [12345][1]

[A] = Number of the authority
= continuous number
[C] = checksum

Calculating the checksum [C]:
=============================

The checksum is the summ of an modular 10 operation with [A] and .

1) Multiply each digit of [A] & with 731 731 731

exmpl.: 123412345
731731731
=========
2) Add the results

7*1+2*3+3*1+4*7+1*3+2*1+3*7+4*3+5*1=87

3) Divide the result with 10 (modulo)

87/10=8.7

4) Take the digit behind the dot

7

The checksum is 7 !!

(if there is no digit behind the dot, because its an integer,
so the checksum is 0 (zero))

THE SERIALNUMBER OF THE PASSPORT IS: 1234123457



The Advanced Serial Number:
===========================

The most xxx-sites requests a serial number with more than 10 digits.
They want a number with the following style:

[A] [C] [D] [E] [F] [G] [H]
[1234] [12345] [7] [D] [700101] [7] [052001] [8] [0]

[A],,[C] = see above for description
[D] = a singel character, its always the 'D'
[E] = date of birth (YYMMDD)
[F] = checksum of [E]
[G] = date of expiration (YYMMDD)
[H] = checksum of [G]
= checksum of [A-H]


Calculating the advanced serial [D-I]:
======================================

Its always the same method like above, to calculate the checksums [C,F,H,I].

1) date of birth
(you see the y2k-problem?
There are still some people born before 1900.
But are they interrested in xxx-sites? ;)

example: Born on 01.Jan.1970

700101
731731
======
7*7+3*0+1*0+1*7+3*0+1*1 = 57/10 = 5.7
=
CHECKSUM=7

RESULT = 7001017

The most sites will ask for you age. They compare the age you entered
with the age included in the checksum!!!


2) date of expiration

There's a little trick.
Passports for people of a age junger than 27 years are valid for 5 years.
Passports for poeple in the age of 27 or older are valid for 10 years.

But i don't think the xxx-sites will check for this plausibility.
I included this feature in PassID, but i did not test it ;)

example: Expiration on 01.Oct.2005

051001
731731
======
5*3+1*1+1*1 = 17/10 = 1.7
=
CHECKSUM = 7

RESULT = 0510017

3) complete checksum:

123412345770010170520017
731731731731731731731731
========================
7+6+3+28+3+2+21+12+5+49+21+3+7+21+35+6+3+7 = 239/10 = 23.9
=
CHECKSUM = 9

RESULT = 1234123457700101705200189


4) The Advanced serial:

The last line printed on your passport might look like this:

1234123457D<<7001017<0510017<<<<<<<9
====================================




WEBSTER
 
  • personalausweisnummer checken Beitrag #8
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
thx webster für diese ausführliche beschreibung.
aber die ganze erklarung kommt dem link von Lordazrael gleich. :D

hab den perso-checker nun geschrieben.
aber was soll ich es nochmal hierher kritzeln.
das meiste wird schon in den formeln erklärt
und die umsetzung in perl ist wirklich nicht so schwer.
also lass ich lieber den speicher für anderer postings frei. :D

aber schematisch is es kurz "gesagt".
eine alterskontrolle könnte dann so aussehen:

- geb. datum mit geb.datum der perso-nr vergleichen.
- ablaufdatum prüfen (also ist der ausweis noch gültig)
- dann jeden ziffernblock mit checksum (prüfsummer) überprüfen.
- evtl noch die total checksum prüfen (checksum aller ziffern)
das wars schon!

thx nochmal an alle!
 
Thema:

personalausweisnummer checken

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben