Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Mein erster Passwort Generator [Delphi] (https://www.delphipraxis.net/128436-mein-erster-passwort-generator-%5Bdelphi%5D.html)

bl4ckb1rd 29. Jan 2009 21:10

Re: Mein erster Passwort Generator [Delphi]
 
@ BullsEye: Je länger das pw desto schwieriger ist es zu behalten ;) Die Funktion bringst eben nur wenn man ca. 6-10 stellen hat und am besten nur große und nur kleine buchstaben da sind.

@ himitsu: uff

Leider bin ich noch richtiger anfänger in sachen Delphi. Was sind die Vorteile von constanten? Was sind überhaupt constante in Programmiersprachen o.O ?
Wie versteh ich diese Zeile:

Delphi-Quellcode:
 abc       : array[boolean] of array[1..26] of char = (...);
Wozu ist der array[boolean] da? Und char kann doch nur 1 zeichen aufnehmen, was sind dann die 3 punkte in der klammer?



Sowie ich es verstanden habe, wird in der folgenden zeile nur dann was aus dem array genommen wenn odd(I) true ist?

Delphi-Quellcode:
pw := pw + vokale[odd(I), random(4)+1];

Srry wenn jetzt so viel fragen da sind und manche vielleicht total 'dumm' sind aber ich möchte gerne alles verstehen ;)

himitsu 29. Jan 2009 21:31

Re: Mein erster Passwort Generator [Delphi]
 
[add]
@NameLozer: ist dir aufgefallen, daß dein konsonantegross klein ist? :mrgreen:
[/add]


Konstanten sind sowas wie vordefinierte und nicht ädebare Variablen

z.B.:
Delphi-Quellcode:
const name = 'ein Text';

const einezahl = 13;

Delphi-Quellcode:
const abc : array[boolean] of array[1..4] of char = (('a', 'b', 'c', 'd'), ('A', 'B', 'C', 'D'));

const abc : array[boolean] of array[1..4] of char = ('abcd', 'ABCD');

const abc : array[false..true] of array[1..4] of char = ('abcd', 'ABCD');

...

const abc : array[boolean] of string = ('abcd', 'ABCD');
(ist intern alles gleich/ähnlich)

Zitat:

Wozu ist der array[boolean] da?
array[typ] entspricht einem Array mit den Grenzen dieses Typs
Delphi-Quellcode:
array[boolean] = array[false..true]
array[byte] = array[0..255]
Zitat:

Und char kann doch nur 1 zeichen aufnehmen, was sind dann die 3 punkte in der klammer?
bei den "..." hatte ich enfach keine Lust da jett alles auszuschreiben :stupid:
da müstest du sozusagen noch die fehlenden Werte nachtragen :zwinker:

Zitat:

sowie ich es verstanden habe, wird in der folgenden zeile nur dann was aus dem array genommen wenn odd(I) true ist?
ODD hat doch als Result einen Boolean ... nja und Anhand dessen Ergebnisses wird dann entweder das erste (false) oder das zweite (true) Arrayfeld genommen

const abc : array[boolean] of array[1..4] of char = ('abcd', 'ABCD');
also abc[true][3] bzw. abc[true, 3] gibt das große 'C' zurück

mr_emre_d 29. Jan 2009 23:41

Re: Mein erster Passwort Generator [Delphi]
 
ich habe mal vor ner Ewigkeit soetwas programmiert

Delphi-Quellcode:
function GenPW(const bSmallLetters, bBigLetters, bNumbers, bEasyToRemember: Boolean;
  wLength: Word): String;
var
  PossibleChars,
  PossibleVocals: String;
  pcLen, pvLen,
  i: Integer;
const
  aVocalsSmall: Array[0..4] of Char =
    'aeiou';
  aVocalsBig: Array[0..4] of Char =
    'AEIOU';
  aSmallLetters: Array[0..25] of Char =
    'abcdefghijklmnopqrstuvwxyz';
  aBigLetters: Array[0..25] of Char =
    'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  aNumbers: Array[0..9] of Char =
    '0123456789';
begin
  if bSmallLetters then
  begin
    PossibleChars := String(aSmallLetters);
    if bEasyToRemember then
      PossibleVocals := String(aVocalsSmall);
  end;
  if bBigLetters then
  begin
    PossibleChars := PossibleChars + String(aBigLetters);
    if bEasyToRemember then
      PossibleVocals := PossibleVocals + String(aVocalsBig);
  end;
  if bNumbers then
    PossibleChars := PossibleChars + String(aNumbers);
  if Length( PossibleChars ) = 0 then
    Result := ''
  else
  begin
    Randomize;
    SetLength(Result, wLength);
    pcLen := Length(PossibleChars);
    pvLen := Length(PossibleVocals);
    for i := 1 to wLength do
      if bEasyToRemember then
      begin
        if i mod 2 = 0 then
          Result[i] := PossibleVocals[1+Random(pvLen)]
        else                                      
          Result[i] := PossibleChars[1+Random(pcLen)];
      end else
        Result[i] := PossibleChars[1+Random(pcLen)];
  end;
end;

lbccaleb 30. Jan 2009 00:42

Re: Mein erster Passwort Generator [Delphi]
 
Weitere Hilfe findest du hier:

Hier im Forum suchenPasswort Generator

tgvoelker 19. Feb 2009 10:12

Re: Mein erster Passwort Generator [Delphi]
 
Cheers,

Macht ja, was es soll, von daher kein Gemecker von mir.

Hinsichtlich der Features und Programmierung verweise ich mal auf ein Ding von mir:

PassGen

Wie überall gilt: Viele Wege führen nach Rom.

Was man sicherlich als guten Anhaltspunkt für einen Benutzer mit ausgeben sollte, ist die Anzahl möglicher KEnnwörter.

Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.
Seite 2 von 2     12   

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