crypter et decrypter un pass - Python - Programmation
Marsh Posté le 24-06-2004 à 17:42:16
Peut être une piste?
http://www.python.org/doc/current/lib/module-md5.html
Marsh Posté le 24-06-2004 à 17:46:26
merci
mais là si j' ai bien compris je crypte une chaine mais ca ne me permet pas de retrouver ma chaine originale.
Marsh Posté le 24-06-2004 à 17:55:32
non, c'est du hachage et non du cryptage.
il te faut comparer les 2 chaines cryptees (les signatures)
Marsh Posté le 24-06-2004 à 18:03:00
http://www.python.org/doc/current/lib/crypto.html
En bas de la page, y'a un lien vers un module qui fait peut être ce que tu veux:
http://www.amk.ca/python/code/crypto.html
Marsh Posté le 24-06-2004 à 18:04:22
ha d' accord, donc ca peut etre pas mal aussi pour ce que je veux faire.
il suffit que je hash le password donné à chaque fois et que je compares avec le pass hashé original qui est stocké.
merci
si vous avez qd meme une idée pour le module de cryptage/decryptage ca m interresse aussi.
Marsh Posté le 24-06-2004 à 18:04:39
ekxon > c'est quoi tes impératifs de sécurité ?
sinon tu as le module password, getpasswd et crypt
mais tu peux faire un truc très bien à la main avec un xor, rc4 ou utiliser le déprécié mais fonctionnel http://docs.python.org/lib/module-rotor.html
Marsh Posté le 24-06-2004 à 18:04:45
chaica a écrit : http://www.python.org/doc/current/lib/crypto.html |
merci je regardes
Marsh Posté le 24-06-2004 à 18:11:13
Taz a écrit : ekxon > c'est quoi tes impératifs de sécurité ? |
en fait je veux seulement donner en options a mes utilisateur qui s enregistrent la possiblité de crypter leur pass pour ne pas les stocker en clair sur le disk
je regardes tout ca merci
Marsh Posté le 25-06-2004 à 09:41:36
Personnellement, je te conseillerais d'utiliser le module SHA de Python.
import sha
pass_hasp = sha.new(pass)
Ensuite tu stockes sha.digest() (ca donne 20 octets de donnees sous forme d'un string, ces 20 octets sont le hash SHA de ta chaine pass)
Quand un utilisateur entrera son pass, tu extrairas le hash stocke (par un pwd = file.read(20) si c'est dans un fichier), puis
Code :
|
Apres si tu as plusieurs MDPs stockes (ce qui est probable), tu peux les mettre dans un tableau de strings et faire
Code :
|
si un MDP correspond a un username, une table de hachage, ...
(je conseille SHA car il semble etre plus securise que MD5)
la doc Python sur SHA est http://www.python.org/doc/current/lib/module-sha.html
PS: si besoin de faire des transferts de donnees, utiliser hexdigest() plutot que digest(), mais le resultat fair 40octets au lieu de 20
Marsh Posté le 28-06-2004 à 11:23:33
bha du coup j' ai utilisé le module md5, mais si le module SHA est plus secure je changerais. ou je proposerais les deux je sais pas..
merci pour ton aide
Marsh Posté le 28-06-2004 à 11:26:03
utilise les modules pour les mots de passe ! ils font tout, stocke en md5 et permettent une saisie sécurisée !
Marsh Posté le 28-06-2004 à 15:23:47
Taz a écrit : utilise les modules pour les mots de passe ! ils font tout, stocke en md5 et permettent une saisie sécurisée ! |
?
un module non standard?
Marsh Posté le 29-06-2004 à 17:55:13
Taz a écrit : non, des modules standards dont j'ai déjà donné les noms |
password n'existe pas (mais pwd existe, tu parlais peut etre de celui la), pwd et crypt sont Unix only, getpass permet une saisie securisee en console (donc la ok, je vois bien l'interet si le programme tourne en console)
et j'ai quand meme du mal a voir l'interet d'une solution de cryptage/decryptage (qui force a stocker une ou plusieurs cle(s)) sur les hachages MD5/SHA (qui permet de ne rien stocker du tout, sauf le mdp crypte bien sur)
Marsh Posté le 29-06-2004 à 18:20:50
Taz a écrit : fallait dire que tu étais dans un environnement pauvre |
c'est pas moi qui ait pose la question
et l'utilisateur initial n'a pas precise dans quel environnement il se trouvait
et tu m'as toujours pas dit pourquoi t'aimais pas les solutions de hachage
Marsh Posté le 29-06-2004 à 18:24:10
c'est pas que j'aime pas, c'est que la solution pwd, getpasswd, etc fais tout très bien. getpasswd permet de lire un mot de passe sur n'importe quel descripteur de fichier
Marsh Posté le 29-06-2004 à 18:34:07
mouais j'aime pas trop la maniere dont semble fonctionner le module crypt (a la lecture de la doc)
(enfin je dis ca pour faire chier parce que j'ai plus rien a dire quoi)
(ah si ! crypt il hash en DES, pas en MD5 )
Marsh Posté le 29-06-2004 à 18:36:54
non crypt utilise MD5 si tu lui dis d'utiliser MD et DES si tu lui dis DES
Marsh Posté le 29-06-2004 à 18:42:28
Taz a écrit : non crypt utilise MD5 si tu lui dis d'utiliser MD et DES si tu lui dis DES |
On doit pas avoir acces au meme module alors, la doc python online dit
Citation : This module implements an interface to the crypt(3) routine, which is a one-way hash function based upon a modified DES algorithm; see the Unix man page for further details. Possible uses include allowing Python scripts to accept typed passwords from the user, or attempting to crack Unix passwords with a dictionary. |
Ya marque "modified DES", pas qu'on a le choix entre MD5 et DES (mon dieu j'aime les smileys de ce forum)
Marsh Posté le 05-07-2012 à 10:44:24
déterrage:
je souhaite scripter la modification de mode de passe pour lancer la commande "usermod -p passwdpcrypted user" sur un parc de machines, mais crypt que j'uutilise pour générer le passwdpcrypted exige u deuxieme argument salt,
comment le renseigner ?
faut il utiliser autre chose que crypt ?
Marsh Posté le 24-06-2004 à 17:39:07
bonjour quel module me permettrait de crypter et decrypter du texte facilement ?