Bonjour,
Je vous propose un nouvel élément à utiliser : checksum
Script de calcul de somme de controle d'un fichier (interface graphique)
chiffrement md5, sha1, sha256, sha512
Qu'en pensez-vous ?
Bonjour,
Je vous propose un nouvel élément à utiliser : checksum
Script de calcul de somme de controle d'un fichier (interface graphique)
chiffrement md5, sha1, sha256, sha512
Qu'en pensez-vous ?
Salut,
Réaliser de petits projets, c'est pour se montrer qu'on a appris un peu quelque chose dans la documentation/cours/tutos qu'on a pris le temps d'ouvrir. Vous avez déjà posté un petit projet similaire vigenere_gtk.py, il y a peu.
Je comprends qu'il puisse être frustrant de casser son élan en se perdant dans la documentation, mais entre deux projets, ouvrir la documentation pour voir ce qui aurait pu être utilisé (à la place de coder un truc sur un coin de table par ignorance) vous aurait permis de découvrir les fonctionnalités file dialog, messagebox, ... et les utiliser ici.
Le choix forcé entre les chiffrements 'md5', 'sha1', 'sha256', 'sha512' pourrait être l'occasion d'utiliser une Combobox.
Outre la connaissance des widget de base, vous recopiez du code qui marche parce qu'on n'y regarde pas de trop près mais qui est "buggy".
Un exemple parmi tant d'autres:
Le parent de la Scrollbar étant le widget Text, pack va l'afficher par dessus et masquer quelques une des colonnes les plus à droite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 sortie = Text(fen, font="Times 14", bg="dark grey", fg="blue", width=150, height=40) sortie.pack(side=TOP, expand=YES, fill=BOTH, padx=15, pady=15) asc_sortie = Scrollbar(sortie, command=sortie.yview) sortie.configure(yscrollcommand=asc_sortie.set) asc_sortie.pack(side=RIGHT, expand=NO, fill=Y, padx=2, pady=2)
Normalement, on crée un Frame pour en faire le parent du widget Text et de la Scrollbar associée, ce qui permet à pack d'afficher les widgets Text et Scrollbar côte à côte et "au dessus" de la Frame (même si dans ce cas on préfèrera le widget composite ScrolledText).
- W
bonjour
même chose au niveau de l'interface graphique, tout est à revoir. Cette version ne propose rien d'intéressant pour l'utilisateur.
A la création de l'interface, on doit tout faire plus simplifier l'usage et certainement pas pour simplifier le travail du codeur (ce qui semble être ton cas)
Au niveau python (pas de TK),
J'ai en première impression que tu ne te relis même pas.
exemples:
- recup_info() s = fichier.encode('utf-8') d'une utilité
- structure du code dans calcul_somme(), tu comptes sur la gui pour avoir un cheminement "logique" (fen_erreur)
- variable choix_chiffrement : cela partait bien puis ... jamais utilisé
- lire un fichier d'une façon plus que excentrique
un exemple de code (en touchant au minimum a ton existant, même pas la lecture farfelue du fichier), peut-être:
ps: et si on utilise un combo, alors on l'alimente avec la structure "actions"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 actions = { "md5": {"name": " md5", "action": hashlib.md5}, "sha1": {"name": " sha1", "action": hashlib.sha1}, "sha256": {"name": " sha256", "action": hashlib.sha256}, "sha512": {"name": " sha512", "action": hashlib.sha512}, } # ou autre structure def recup_info(): ... calcul_somme(fichier, actions.get(methode_chiffrement, None)) def calcul_somme(fichier, action_chiffrement): if not action_chiffrement: message("ERREUR", "Methode de chiffrement non valide") return try: ... somme = action_chiffrement["action"]() somme.update(lignes) except FileNotFoundError: message("ERREUR", "Fichier non trouver") return sortie_chiffrer.insert(END, "[" + fichier + "]" + "[" + action_chiffrement["name"] + "] " + somme.hexdigest() + "\n")
Partager