![]() |
PersoGen
Liste der Anhänge anzeigen (Anzahl: 2)
Hi Leute,
ich möchte euch heute meinen Personalausweisnummern-Generator (kurz "PersoGen") vorstellen. Dieser ist in der Lage, gültige Personalausweisnummern zu erzeugen & zu verifizieren. Und weil das ganze ohne Sourcecode ja langweilig wäre, pack ich ihn gleich mit dazu :???: Der Algorithmus hierzu ist im Web frei verfügbar unter der Adresse ( ![]() Viel Spaß beim Code-studieren, Interceptor |
Re: PersoGen
Is' zwar ganz nett, aber was soll ich damit? Ich hab' doch ein gültigen Perso.
Ach... Jetzt weiß ich... Es gibt Webseiten, die das checken... Ich besuche solche Seiten nur nie... Aber egal. Das Programm an sich ist zumindestens ganz ok. |
Re: PersoGen
Über Sinn und Zweck lässt sich streiten, war halt eher sowas wie ne "Machbarkeitsstudie" :wink:
Hab den Algo im Web gesehn und dachte dass sich das doch ganz nett umsetzen lassen würde Mfg, Interceptor |
Re: PersoGen
Zitat:
(XP SP1) |
Re: PersoGen
Soso...ein Geburtsjahr im Jahre 1990 ist also gültig?
Die Schrift des Hintergrundes ist leider kaum zu lesen...über Legalität dieses Teils lässt sich streiten air |
Re: PersoGen
Zitat:
|
Re: PersoGen
[OT]
Zitat:
|
Re: PersoGen
Zitat:
|
Re: PersoGen
Das Tool / der Source soll eigentlich vielmehr demonstrieren, wie solche Personalausweisnummern überhaupt errechnet werden.
Du kannst in dem Programm auch ein Geburtsjahr anno 1750 angeben, ob es zur damaligen Zeit schon Personalausweise gab, geschweige denn ob diese Person überhaupt noch lebt interessiert den Algorithmus herzlich wenig. |
Re: PersoGen
ähm ja und warum muss ich Mustermann heissen? warum kann man da keinen namen eingeben ?
edit: und "kaum zu lesen" ist eine echte untertreibung ;) |
Re: PersoGen
Wieso "Name eingeben"? Kann man das Teil dann ausdrucken? :shock: Na ja, das wär doch mal was für die nächste Party.
|
Re: PersoGen
Zitat:
Joa, die Schriften sind wirklich schwer zu lesen, dat stimmt wohl. Hm, stört das wirklich so arg? However, das interessanteste an dem Teil ist IMHO der Sourcecode der PersoID.pas, in der die Logik zur Errechnung solcher ID's implementiert ist. Punkto Legalität: Ich hab lang gezögert bevor ich mich entschlossen hab den Source zu veröffentlichen. Andererseits, wenn der Algorithmus sogar auf aspheute.com veröffentlicht ist, dann wird das wohl keine Probleme geben, denk ich. |
Re: PersoGen
ich muss dich leider enttäuschen ;)
dein algo is falsch. ich hab den randomstring am anfang durch meine nummer ersetzt und die beiden daten wie bei meinem eingestellt. es stimmt alles bis auf die letzt prüfsumme (also die letzte zahl) die is bei mir aufm ausweis nämlich 6 und nicht 2. ich hab das ganze dann selber (in php) geschrieben und da gehts. schau dir am besten das nochmal genau an: ![]() |
Re: PersoGen
Ich würde mir noch ein "Drucken"-Button wünschen! ;-)
Und das man den Namen und alle selber eingeben kann. Damit man den Ausweis auch schön verwenden kann. ;-) (kleiner Scherz am Rande) |
Re: PersoGen
Zitat:
|
Re: PersoGen
Wie meinste das, nach der blanken Theorie?
Alles was ich wusste war, dass die 1. Zahl mit 7 multipliziert wird, die 2. mit 3, die 3. mit 1 usw... dass die Restbeträge aus den Blöcken die Prüfsummen ergeben... Joa, und aus den Angaben hab ich das Dingens hier zusammengeschustert. Den C# Code auf der Seite hab ich mir damals auch nicht weiter angeguckt... |
Re: PersoGen
hallo,
wenn ich den source-code starte kommt die fehlermeldung: RersoGen.res nicht gefunden und Klasse TJv Transparent Button nicht gefunden ???? was muß ich machen ? mfg vader |
Re: PersoGen
Zitat:
Zitat:
![]() |
Re: PersoGen
Zitat:
|
Re: PersoGen
hallo,
danke alles klar ! mfg vader |
Re: PersoGen
Auf die Gefahr hin, dass ich mich unbeliebt mach: Ich hab anscheinend eine ungültige ID auf meinem Perso :mrgreen:
Hab die ID genau so abgetippt, wie sie auf meinem Ausweis draufsteht, aber er sagt mir, dass die ID ungültig ist :shock: |
Re: PersoGen
Zitat:
... ich hab die grünen schon informiert! :mrgreen: :mrgreen: |
Re: PersoGen
Zitat:
|
Re: PersoGen
Zitat:
|
Re: PersoGen
bei mir ebenfalls ungültig... :?
|
Re: PersoGen
Dein Exception-Handling ist unsauber/fehlerhaft!
Delphi-Quellcode:
Wenn nun an der Stelle, die mit *** gekennzeichnet wurde eine Exception auftritt ??
function IsValidID(ID: string): boolean;
begin try Row1 := ..... ..... // *** if not ((Ps1 = StrToInt(ID[10])) and (Ps2 = StrToInt(ID[20])) and (Ps3 = StrToInt(ID[28])) and (Ps4 = StrToInt(ID[36]))) then result := false else result := true; except exit end; end; Du wirst niemals erfahren, was schiefgelaufen ist und ausserdem ein undefiniertes Result erhalten. Korrektes Exception-Handling sieht so aus:
Delphi-Quellcode:
Der Aufrufer, bekommt eine recht genaue Beschreibung, was schiefgelaufen ist.
function IsValidID(ID: string): boolean;
begin try Row1 := ..... ..... // *** if not ((Ps1 = StrToInt(ID[10])) and (Ps2 = StrToInt(ID[20])) and (Ps3 = StrToInt(ID[28])) and (Ps4 = StrToInt(ID[36]))) then result := false else result := true; except on E:Exception do begin E.Message := 'Fehler in IsValidID('+ID+')'#13#10+ E.Message; raise; end; end; end; Die Exception wird nur abgefangen und erneut ausgelöst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz