Einzelnen Beitrag anzeigen

AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Fehler beim Passwortstärkeberechnung

  Alt 11. Dez 2014, 11:34
Die Formel berechnet also die Anzahl der möglichen Kennwörter, die sich mit den Checkbox-Einstellungen generieren lassen. Aus dieser Anzahl wird unter der Annahme, das soundsoviele Kennwörter pro Sekunde mit brute force probiert werden, die Anzahl der Jahre ausgerechnet, die ein BF-Algorithmus benötigt, um alle Kombinationen durchzurechnen. Soweit richtig geraten?
Korrekt


Na ja. Nicht blöd und kein Voodoo (außer die Geschwindigkeit des BF, da würde ich noch die Quelle angeben).
hier


...jahre - cooler, irreführender Bezeichner
Wenn ich die Idee richtig verstanden habe, ist das weder irreführend noch cool, weil richtig.
...die Variablen bekommen englische Bezeichner.
Was hast Du gegen deutsche Bezeichner? Lieber einen verständlichen deutschen Bezeichner als ein mit google.translate übersetzten, über den sich die Engländer krank lachen. aber deine 'a,b,c,d,e' etc. solltest Du mit besser benennen.

Ich sorge schon mal vor, falls jemand aus Silicon Valley mein Prog abkauft und ich in das Hauptbüro in USA ziehen muss, müssen die Variablennamen nicht geändert werden. Und für die Engländer ist lachen gesund.



Delphi-Quellcode:
var
  AnzahlUnterschiedlicherZeichen : integer;

begin
  AnzahlUnterschiedlicherZeichen := 0;
  if UppercaseCB.Checked then inc (AnzahlUnterschiedlicherZeichen , 26);
  if LowercaseCB.Checked then inc (AnzahlUnterschiedlicherZeichen , 26);
  if DigitsCB.Checked then inc (AnzahlUnterschiedlicherZeichen , 10);
  if ArithmoperatorsCB.Checked then inc(AnzahlUnterschiedlicherZeichen ,5);
  if BracketCB.Checked then inc (AnzahlUnterschiedlicherZeichen , 8);
  if SpecialcharsCB.Checked then inc (AnzahlUnterschiedlicherZeichen , 19);


...
Dann versteht man gleich, worum es geht. Oder?
Habe diese Schreibweise noch nie gesehen.

Zum Problem:
Anstatt 'Power' zu nehmen, machst Du das mit einer Schleife und teilst 1x in der Schleife, falls das Zwischenergebnis zu groß wird. Wenn die Schleife durch ist, prüfst Du, ob Du schon geteilt hast. Wenn nicht (weil das Zwischenergebnis doch nicht zu hoch war), teilst Du dann.
Hm... kapiere es nocht nicht, aber denke in Ruhe noch Mal nach. Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat