From f987fefbbce5ac34d071dafba0df96eed2ed1fd8 Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@imag.fr> Date: Wed, 22 Feb 2017 14:06:39 +0100 Subject: [PATCH] Small fixes --- src/test_pass.py | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/test_pass.py b/src/test_pass.py index 9eb55fc..473edc2 100644 --- a/src/test_pass.py +++ b/src/test_pass.py @@ -32,9 +32,7 @@ def add_dictionnaries(): for fn in os.listdir(directory): fn = directory+"/"+fn if os.path.isfile(fn): - print(fn) name = os.path.basename(os.path.splitext(fn)[0]) - print(name) with open(fn) as f: dicts[name] = f.read().splitlines() add_frequency_lists(dicts) @@ -47,9 +45,10 @@ def test_pass(password, inputs): results = zxcvbn(password, inputs) lines = [] - lines.append("Résultats du test:\n") + lines.append("Résultats du test\n") lines.append("Nombre de tentatives : {}".format(results["guesses"])) + # TODO let tr handle things times = results["crack_times_display"] lines.append("Temps requis pour craquer votre mot de passe") lines.append("\t Dump bases de donnée mal protégée : \t**{}**".format( @@ -63,22 +62,20 @@ def test_pass(password, inputs): lines.append("\n") lines.append("Methode de hack utilisées") - if results["sequence"] == []: - lines.append("\tVotre mot de passe n'a été trouvé dans aucun dictionnaire") - else: - for seq in results["sequence"]: - if seq["pattern"] == "bruteforce": - lines.append("\tMot de passe trouvé par force brute") - elif seq["pattern"] == "repeat": - for match in seq["base_matches"]: - print("\tMot de passe trouvé par repetition depuis le dictionnaire {}". - format(tr(match["dictionary_name"]))) - elif seq["pattern"] == "date": - lines.append("\tMot de passe trouvé par dates") - elif seq["pattern"] == "sequence": - lines.append("\tMot proche trouvé dans la séquence : '{}'".format(tr(seq["sequence_name"]))) - else: - lines.append("\tMot proche trouvé dans le dictionnaire : '{}'".format(tr(seq["dictionary_name"]))) + # Print hack methods + for seq in results["sequence"]: + if seq["pattern"] == "bruteforce": + lines.append("\tMot de passe trouvé par force brute") + elif seq["pattern"] == "repeat": + for match in seq["base_matches"]: + print("\tMot de passe trouvé par repetition depuis le dictionnaire {}". + format(tr(match["dictionary_name"]))) + elif seq["pattern"] == "date": + lines.append("\tMot de passe trouvé par dates") + elif seq["pattern"] == "sequence": + lines.append("\tMot proche trouvé dans la séquence : '{}'".format(tr(seq["sequence_name"]))) + else: + lines.append("\tMot proche trouvé dans le dictionnaire : '{}'".format(tr(seq["dictionary_name"]))) lines.append("\n") @@ -86,9 +83,16 @@ def test_pass(password, inputs): lines.append("Score Global {}/4 : {}".format(results["score"], valeur[results["score"]])) for key, values in results["feedback"].items(): - lines.append("{} :".format(tr(key))) + # Tel that we sould add the key line if there are some contents + needappend = True if not isinstance(values, list): + # Simplify things by always using lists values = [values] for val in values: - lines.append("\t{}".format(tr(val))) - return lines + if val != "": + if needappend: + # Append key line + lines.append("{} :".format(tr(key))) + needappend = False + lines.append("\t{}".format(tr(val))) + return lines -- GitLab