Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Passwort Generator (https://www.delphipraxis.net/113972-passwort-generator.html)

Shakyamuni 17. Mai 2008 15:01


Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Allerseits,
zwar ist dies mein erster Beitrag im Forum, aber damit schicke ich auch gleich ein Programm
mit, das ich eben grade programmiert habe.
Dieses 191kB kleine Programm generiert für euch ein schwer knackbares Passwort mit der euren
gewünschten Zeichenlänge. Dabei verwendet das Programm Buchstaben, Zahlen und Sonderzeichen.

Der Quellcode sieht wie folgend aus:
Code:
procedure TForm1.GenerierenClick(Sender: TObject);
begin
zahl1 := strtoint(Anzahl.text);
Generated.Text := PassWort(zahl1);
end;

function TForm1.PassWort(PLen:Integer):String;
begin
  Randomize;
  str:='1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ|<>^°!§$%&/=?+#*-';
  Result:='';
  repeat
    Result:=Result+str[Random(Length(str))+1];
  until(Length(Result)=PLen)
end;
Dieses Programm ist nicht dazu gedacht, um es als Gerüst für ein Brute-Force-Programm zu dienen.
Außerdem bitte ich darum, dies nicht als sein eigenes zu verkaufen, egal, ob gegenüber
seiner Freunde, Lehrer oder Dozenten. Es kann gerne als Programmierhilfe genutzt werden.

Lg,
Shakyamuni

lbccaleb 17. Mai 2008 15:18

Re: Passwort Generator
 
hey und willkommen in der dp :dp: :dp:

das schut ja schon mal nicht schlecht aus dein programm ;-)

wie wärs wenn du noch eine edit einbaust, in der man die zu benutzenden zeichen auswählen kann!!
falls man ein pw haben will nur mit kleinen buchstaben oder bchstaben und zahlen!!

Luckie 17. Mai 2008 15:19

Re: Passwort Generator
 
- Man kann Buchstaben eingeben.
- Guck mal, was passiert, wenn man dein Fenster maximiert.
- Man sollte einstellen können aus was für einem Zeichenvorrat man das Passwort generiert haben will.

Matze 17. Mai 2008 15:20

Re: Passwort Generator
 
Hallo Shakyamuni, herzlich Willkommen!

Zitat:

Zitat von Shakyamuni
Außerdem bitte ich darum, dies nicht als sein eigenes zu verkaufen

Das ist so wenig Code, den man sicher selbst in kurzer Zeit zusammengetippt hat. Das ist jetzt ja nichts wirklich besonderes. ;)

Ich möchte das Programm nicht schlecht machen und es funktioniert sicher einwandfrei und kann auch ganz praktisch sein, doch wegen dem bisschen Code eine Art Lizenz ins Leben zu rufen, ist ein klein wenig übertrieben. :)

Grüße

Shakyamuni 17. Mai 2008 15:29

Re: Passwort Generator
 
Um schonmal ein paar Fragen zu beantworten :-D
Wegen der "Lizenz":
Das hab ich einfach kurz hingeschrieben, weil es ja auch (leider) Personen gibt,
die sich als Programmierer darstellen wollen, mal eben online gehen, sich einen
Quelltext, seis für Schule oder sonst was, herunterholen und damit dann groß
rumlaufen.

Was die Sache mit dem Maximieren angeht:
Das Programm soll halt nichts großes sein, und ich sehe eig auch nicht die Nötigkeit,
wieso ich die Größen an die des Fenster anpassen sollte. Vielleicht bei einer späteren
Version.

Das mit dem Pool kommt auch noch bei einer späteren Version, das hier ist ja nur so was,
was ich kurz "hingeschmiert" hab.

Freue mic aber über die schnellen Rückmeldungen :corky:

Lg,
Shakyamuni

_frank_ 17. Mai 2008 15:38

Re: Passwort Generator
 
btw. randomize sollte nur einmal aufgerufen werden...

Gruß Frank

lbccaleb 17. Mai 2008 15:43

Re: Passwort Generator
 
Zitat:

Zitat von Shakyamuni
Was die Sache mit dem Maximieren angeht:
Das Programm soll halt nichts großes sein, und ich sehe eig auch nicht die Nötigkeit,
wieso ich die Größen an die des Fenster anpassen sollte. Vielleicht bei einer späteren
Version.

wieso?? ist doch auch nicht wirklich was dickes bei??!!
einfach im oi die eigenschaft "BorderStyle" auf bsSingle gesetzt und fertig ;-)

oder direkt im oncreate:
Delphi-Quellcode:
borderstyle := bsSingle;
Randomize; //das sollte auch eher hier hinn als in die funktion selber!!

MSSSSM 17. Mai 2008 19:31

Re: Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 2)
nochmla ein bisschen verbessert
wo krieg ich den borland style guide her?

mfg

aktualisiert!

Luckie 17. Mai 2008 19:35

Re: Passwort Generator
 
Gleichen Kritikpunkte:
- Man kann Buchstaben eingeben.
- Maximier mal das Fenster und guck, was passiert...

Matze 17. Mai 2008 19:37

Re: Passwort Generator
 
Zitat:

Zitat von MSSSSM
wo krieg ich den borland style guide her?

Von CodeGear oder übersetzt findest du ihn auf dsdt.info.

Luckie 17. Mai 2008 19:40

Re: Passwort Generator
 
Du machst die gleichen Fhler wie dein Vorgänger:
Delphi-Quellcode:
function PassWort(PLen: Integer; vorrat: string): string;
begin
  Randomize; // <- !!!

  Result := '';
  repeat
    Result := Result + vorrat[Random(Length(vorrat)) + 1];
  until (Length(Result) = PLen)
end;
Randomize nur einmal beim Programmstart aufrufen!

FAlter 17. Mai 2008 20:04

Re: Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,

Zitat:

Zitat von Luckie
Gleichen Kritikpunkte:
- Man kann Buchstaben eingeben.
- Maximier mal das Fenster und guck, was passiert...

Man kann auch bei mir Buchstaben eingeben. :oops: Sorry, hab mich zu sehr auf das Maximieren konzentriert. :stupid:

Jetzt sollte beides bei mir nicht mehr gehen. :D

:mrgreen: Am Ende gibts hier hunderte von Varianten dieses Programmes. :lol:

Mfg
FAlter

lbccaleb 17. Mai 2008 20:14

Re: Passwort Generator
 
Zitat:

Zitat von FAlter
:mrgreen: Am Ende gibts hier hunderte von Varianten dieses Programmes. :lol:


wollen wir jetzt hier nen passwortgenerator contest beginnen oder wie?? :lol: :lol:

Luckie 17. Mai 2008 20:24

Re: Passwort Generator
 
Zitat:

Zitat von FAlter
Man kann auch bei mir Buchstaben eingeben. :oops: Sorry, hab mich zu sehr auf das Maximieren konzentriert. :stupid:

Aber ihr werdet besser. Beim ersten kam ein Exception, beim zweiten eine Fehlermeldung in einem Label und was dein Programm macht, weiß ich nicht. Ich habe 5 j's eingegeben und er hat mir ein Passwort generiert.

FAlter 17. Mai 2008 20:31

Re: Passwort Generator
 
Hi,

Zitat:

Zitat von Luckie
Beim ersten kam ein Exception, beim zweiten eine Fehlermeldung in einem Label und was dein Programm macht, weiß ich nicht. Ich habe 5 j's eingegeben und er hat mir ein Passwort generiert.

Ich hatte den Wert aus dem UpDown genommen, der mit dem Edit verknüpft ist. Ich denke, der bliebt beim letzten gültigen Wert.

*Wuppdi* Jetzt kann man keine Buchstaben mehr eingeben. ;) Anhänge oben sind aktualisiert.

Mfg
FAlter

rollstuhlfahrer 18. Mai 2008 08:16

Re: Passwort Generator
 
hi,

am anfang hab ich gedacht: "Kann es denn so schwer sein, einen Passwortgenerator zu schreiben? :gruebel: ". Nun möchte ich auch etwas beitragen. :idea:
Neu ist die Combobox mit den verschiedenen vorgegebenen Möglichkeitet

rollstuhlfahrer

Anhang gelöscht. Heute Abend neue Version

lbccaleb 18. Mai 2008 08:32

Re: Passwort Generator
 
Zitat:

Zitat von rollstuhlfahrer
Nun möchte ich auch etwas beitragen. :idea:
Neu ist die Combobox mit den verschiedenen vorgegebenen Möglichkeitet

ich hab mir "deine" ;-) version mal angesehen, naja mir ist nen kleiner fehler aufgefallen, wenn man alles auswähl klein/grossbuchstaben und sonderzeichen, passen diese nicht mehr auf das anzeige panel... ;-)

grenzgaenger 18. Mai 2008 08:41

Re: Passwort Generator
 
Zitat:

Zitat von lbccaleb
Zitat:

Zitat von FAlter
:mrgreen: Am Ende gibts hier hunderte von Varianten dieses Programmes. :lol:


wollen wir jetzt hier nen passwortgenerator contest beginnen oder wie?? :lol: :lol:

gibt doch schon hunderte varianten in den foren (auch im quelltext).

BullsEye 18. Mai 2008 09:36

Re: Passwort Generator
 
Zitat:

Zitat von Shakyamuni
Code:
procedure TForm1.GenerierenClick(Sender: TObject);
begin
zahl1 := strtoint(Anzahl.text);
Generated.Text := PassWort(zahl1);
end;

function TForm1.PassWort(PLen:Integer):String;
begin
  Randomize;
  str:='1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ|<>^°!§$%&/=?+#*-';
  Result:='';
  repeat
    Result:=Result+str[Random(Length(str))+1];
  until(Length(Result)=PLen)
end;
Dieses Programm ist nicht dazu gedacht, um es als Gerüst für ein Brute-Force-Programm zu dienen.
Außerdem bitte ich darum, dies nicht als sein eigenes zu verkaufen, egal, ob gegenüber
seiner Freunde, Lehrer oder Dozenten. Es kann gerne als Programmierhilfe genutzt werden.

Lg,
Shakyamuni

Hallo und Willkommen in der DP!
Ich will dich nicht persönlich angreifen, aber so ein Programm, mit ähnlichem Code habe ich auch schon vor 2 Monaten geschrieben.. Also eig schön älter aber die aktuelle Version ist 2 Monate alt.

FAlter 18. Mai 2008 09:40

Re: Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

du hast eine Sache, um die ich mich sehr bemüht habe, wieder entfernt, nämlich das Eingeben von Zahlen außerhalb des Bereichs. Bei mir werden die dann auf dem Maximal-/Minimalwert gesetzt. Bei dir bleibt die ungültige Eingabe stehen.

Außerdem ein optischer Mangel.

Mfg
FAlter

rollstuhlfahrer 18. Mai 2008 13:44

Re: Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von FAlter
Hi,

du hast eine Sache, um die ich mich sehr bemüht habe, wieder entfernt, nämlich das Eingeben von Zahlen außerhalb des Bereichs. Bei mir werden die dann auf dem Maximal-/Minimalwert gesetzt. Bei dir bleibt die ungültige Eingabe stehen.

Außerdem ein optischer Mangel.

Mfg
FAlter

Den Min/Max-Wert bei der Länge hab ich jetzt behoben, beim optischen Mangel bin ich mir nicht ganz sicher, was ich da tun soll.
Einerseits will ich vorgegebene Zeichenkombinationen haben, andererseits aber auch selbst die Zeichen auswählen. Übernommen hab ich das Panel und den Unterbaum aus einem anderen Projekt, hatte aberirgendwie vergessen auf Schönheitsfehler zu achten.

rollstuhlfahrer

Nachtrag: ich hab mich bei der Länge auf deine Version entschieden.

lbccaleb 18. Mai 2008 13:52

Re: Passwort Generator
 
Liste der Anhänge anzeigen (Anzahl: 1)
da jeder heir schon mal ein gemacht hat, und ich noch nicht ;-) hab ich mich (hatte bissel langeweile) auch mal rangestzt und fix eins geschrieben, so wie es aussieht läuft es ganz gut!!

bei dem erstellen hab ich mich an die version von rollstuhlfahrer gehalten, und nur alles in nonvcl umgeändert!!
ich hoff mal du nimmst mir das nicht böse ;-) aber bei den ganzen ~300kb dingern hier, musste ja auch mal was kleines zwischen^^

naja nur einen komischen runtimeerror hab ich ab und an noch am start, und kann nicht direkt den fehler finder (komisch)

naja vllt findet ihn ja einer, der kann den code getrost ändern ;-)

FAlter 18. Mai 2008 13:55

Re: Passwort Generator
 
Hi,

beiu mir kommt der Runtime Error 210 immer.

Verdammt, mein Bookmark zu den "System Error Codes" ist nicht mehr aktuell :(

Mfg
FAlter

lbccaleb 18. Mai 2008 14:02

Re: Passwort Generator
 
ja das ist komisch woran liegt das nur?? bei mir kommt er ab und zu mal, keine ahnung wieso...

FAlter 18. Mai 2008 14:06

Re: Passwort Generator
 
Hi,

pack eventuell mal die SysUtils rein, dann kommt vielleicht eine verständlichere Meldung. Später natürlich wieder rausnehmen.

Früher konnte man hier nachgucken,w as 210 usw. bedeuten:
http://msdn.microsoft.com/library/de...rror_codes.asp

Leider jetzt nicht mehr :cry:

Mfg
FAlter

toms 18. Mai 2008 14:09

Re: Passwort Generator
 
Der Fehler tritt an dieser Stelle auf

Delphi-Quellcode:
SendMessage(hWndCBex, WM_SETFONT, hFont1, 0);
Fehler: ERangeCheckError

lbccaleb 18. Mai 2008 14:11

Re: Passwort Generator
 
hab jetzt mit der suche was gefunden:

error list

aber das ergibt doch keinen sinn :gruebel: :gruebel:

Zitat:

error 201


illegal symbol %s; null macro formal parameter
edit:
huch hatte mich im error vertan :wall: :wall:

lbccaleb 18. Mai 2008 14:12

Re: Passwort Generator
 
Zitat:

Zitat von toms
Der Fehler tritt an dieser Stelle auf

Delphi-Quellcode:
SendMessage(hWndCBex, WM_SETFONT, hFont1, 0);
Fehler: ERangeCheckError

ok, aber wieso??

FAlter 18. Mai 2008 14:17

Re: Passwort Generator
 
Hi,

check mal deine Datentypen. Eventuell ist hFont1 Cardinal (THandle?) und in der Windows.pas steht Integer für den Parameter von SendMessage drin? Dann wäre wohl ein Typecast angebracht.

Mfg
FAlter

[edit] Nach einfügen des Typecasts gehts.

Nur noch zwei Warnungen:

Zitat:

[Warning] PWGenerator.dpr(240): Constant expression violates subrange bounds
[/edit]

toms 18. Mai 2008 14:26

Re: Passwort Generator
 
Delphi-Quellcode:
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
----------->

Delphi-Quellcode:
type
  WPARAM = Longint;
----------->

Delphi-Quellcode:
Longint   –2147483648..2147483647

hFont1 war 3607762947 als der Fehler kam.

lbccaleb 18. Mai 2008 14:28

Re: Passwort Generator
 
und wie löse ich dieses problem jetzt??

FAlter 18. Mai 2008 14:31

Re: Passwort Generator
 
Ja,

weil ein Handle je nach Delphiversion unsigned ist. (Früher wars afaik anders.)

Delphi-Quellcode:
        if hFont1 <> 0 then
          begin
            SendMessage(hWndCBex, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndPanel1, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndLabel1, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndLabel2, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndLabel3, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndLabel4, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndLabel5, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(HWNDButton1, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndSpinButton1, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndEdit1, WM_SETFONT, Integer(hFont1), 0);
            SendMessage(hWndEdit2, WM_SETFONT, Integer(hFont1), 0);
          end;
Ähnliches gilt für die X/Y-Parameter der Gemüsezwiebel:

Delphi-Quellcode:
CreateWindowEx(
  0,
  ClassName,
  AppName,
  WS_CAPTION or WS_VISIBLE or WS_SYSMENU or WS_MINIMIZEBOX,
  Integer(CW_USEDEFAULT),
  Integer(CW_USEDEFAULT),
  WindowWidth,
  WindowHeight,
  0,
  0,
  hInstance,
  nil
);
Wobei hier wohl die Konstanten falsch gesetzt wurden.

Oder du stellst RangeChecks aus. Typecasts find ich aber sinnvoller, weil man sich da Gedanken gemacht hat. Bei RangeChecks gehen auf andere Fehler unter, sollte nur in der Final raus (Speed).

Mfg
FAlter

[edit] Fast vergessen: Altbekanntes Problem!
Man kann Buchstaben eingeben. [/edit]

[edit] Passworlänge ist ein Schreibfehler. [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 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