crypter les mots de passe - Programmation
Marsh Posté le 08-06-2001 à 10:55:35
tjrs personne ayant deja fais un epu de cryptage pour le smots de passe?
Marsh Posté le 08-06-2001 à 11:03:55
Je connais pas trop l'ASP,...désolé.
- Pourquoi veux-tu crypter les mots de passe, tu les passes dans l'url ???
Marsh Posté le 08-06-2001 à 11:06:14
J'avais posé la question pour le php ...
Si ca peut t'aidé :
http://forum.hardware.fr/sqlforum/ [...] e=0&cache=
A+
Marsh Posté le 08-06-2001 à 11:07:48
non c'est pour que: quand un utilisateur s'inscris ds le forum , l'administrateur (par exemple) ne puisse connaitre le mot de passe en allant juste jeter un oeil sur la base de donnée , je veux garder un maximum de conidentialité a tt les niveaux
Marsh Posté le 08-06-2001 à 11:09:15
oki je vai svoir les adresses merci
si vous avez d'autres idées faites moi signes , plus y a d'idées et mieux c'est (logique)
Marsh Posté le 08-06-2001 à 11:15:21
je suis allé voir le lien , mais je ne comprends en quoi c'est pas facile d'aller voir un mot de passe ds une BD , c'est du texte non? , puis de tte facon meme un administarteur ne evrais pas avoir acces a des mots de passes.
Par contre je ne crois pas que la fonction en php pour le codage existe en asp ,, mais j'irais voir aussi
Marsh Posté le 08-06-2001 à 11:23:47
tu cré une fonction qui te code ca de manière pas dure et illisible
a partir du code asscii de chaque caractere mis bout a bout, du retourne la chaine, ou chaque code ascii ou tu fais +7, -2 etc un caractère sur deux..
c'est pas dur et suffisamment illisible.
Maintenat si l'admin veut savoir et qu'il connait l'algo de cryptage, il a vite fais de passer outre.. mais quel interet
Marsh Posté le 08-06-2001 à 11:24:05
tu cré une fonction qui te code ca de manière pas dure et illisible
a partir du code asscii de chaque caractere mis bout a bout, du retourne la chaine, ou chaque code ascii ou tu fais +7, -2 etc un caractère sur deux..
c'est pas dur et suffisamment illisible.
Maintenat si l'admin veut savoir et qu'il connait l'algo de cryptage, il a vite fais de passer outre.. mais quel interet
Marsh Posté le 08-06-2001 à 12:40:58
oui, faudrait préciser quel nivo de sécurité tu veux.
si tu veux juste empecher que le gars un peu trop curieux trouve les pass, la solution de TricTrac peut suffire. Mais s'il commence à entrer des motes de passe genre "abcdefgh" et regarder pour chaque lettre ce que ca donne ...
tu peux alors faire un petit peu plus élaboré, tout en restant simple : tu affectes un code au pif different pour chaque lettre (A=> 12, B=>78 , C=47...) comme l'a dit TricTrac (sauf qu'il jouait avec l'ASCII ce qui n'est pas indipensable ) et tu enregistres le pass sous forme numérique, c'est à dire un entier quoi (pas lisible au notepad ...) soit le pass : "ABC"
alors, tu enregistre les nombres 12,78,47 mais pas en texte, sous forme d'entier (tu peux en asp je suppose => connais pas du tout moi )
comme ca le mec il doit sortir l'editeur hexa pour s'y retrouver
et si tu met des décimaux (12.7 ...) alors c'est encore plus cho à capter ...
Marsh Posté le 08-06-2001 à 12:49:30
pour ta gouverne, je te met au defit de decoder avec ta methode le codage de mon site qui est realisé de cette manière...
ABC donne 083054081 dans la barre d'explorer.
Alors si le quidam du coin trouve, c'est parce qu'il connait l'algo, et il ne peut pas se faire une table des caractere car a chaque caractere peut correspondre deux codes, et 4 avec les min/max
Marsh Posté le 08-06-2001 à 13:37:46
j'ai vite lu et j'ai compris que tu remplacait un code ASCII par un autre ...
j'ai relu tes explications et j'ai rien compris ...
tu peux ré-expliquer ?
=> c koi que mis bout a bout, les caractere ou leurs codes ()
=> qu'entends tu par retourner une chaine ou un caractere () en fonction d'un code ?
Marsh Posté le 08-06-2001 à 13:41:43
bon bin je crois que je vais me faire une petite fonction tte simple pour coder le pass , de tte facon l'administrateur n'y connais rien en info ,
merci encore a tous
Marsh Posté le 08-06-2001 à 14:05:34
il y a aussi possibilité de faire un ou exculif avec une clé quelconque. et de codé les caracteres obtenus sur deux caracteres => hexa. Si le gars ne si connait pas y va rien comprendre.
Marsh Posté le 08-06-2001 à 14:11:45
Il y a aussi la possibilité de stocké en bdd non pas le mot de pass mais par exemple son checksum md5.
Donc quand un user rentre son mdp, su calcule le md5 et tu compare avec celui en bdd...
Marsh Posté le 08-06-2001 à 14:19:53
atten j'ai reussi a chopper un algo de cryptage bijectif (encodage et decodage pas le meme)
c est le RC4
il est a l'adresse
// Class Made By Mukul Sabharwal [mukulsabharwal@yahoo.com]
// http://www.devhome.net/php/
ce qui d'ailleur devrais etre la regle!! utiliser cet algo pour crypter les mots de passe avant de les mettre dasn la bdd ou dans des fichiers
pour la petite histoire un hacker a reussi a chopper plusieurs milliers de numero de cartes bacaires sur un site marchand car une fois qu'il a gagné l'acces les numero était ecrit en clair!
un aute technique, qui rend aussi le text indescriptible sans la fonction est
base64_encode()
base64_decode()
ce n'est pas tres securisé, mais au moins ce n'est pas ecit en clair!
voila, bon cryptage
Marsh Posté le 08-06-2001 à 14:36:51
hello world>
pour chaque char
tu prend le code ascii
si l'indice du caractere est pair
code ascii = code ascii +13
sinon
code ascii = code ascii -19
fsi
tu concatene a la chaine a retourneé
finpour
tu inverse toute la chaine a retournée, asavoir le premier chiffre devien le dernier et ainsi de suite... et tu retourne la suite des codes ascii tout mélanger et qui veulent plus rien dire!
L'avantage: tu peux le décrypter, et c'est assez compliqué pour que même un mec si connaissant un peu (j'ai dit un peu, pas le hacker qui veut decoder le mot de pass root d'un site d'unee multinationnale) ne peut trouver le truc sans l'algo, et c'est illisible
[edit]--Message édité par trictrac--[/edit]
Marsh Posté le 08-06-2001 à 16:13:47
et bin je voix qu'il y en a des idées très interessante ca devrais m'aider fortement tt ca
Marsh Posté le 08-06-2001 à 16:23:56
ya pas besoin de chercher de midi a 14h...
Vu que t'as pas besoin de savoir decoder le mdp crypter...
En effet le truc que je disais pour le md5 est faisable avec n'importe quoi...
tu peux tranformer en nombre avec les code ACSII et faire un calcul de mort sur le resultat...puis tu compart avec le nombre en base qui a été calculé avec le meme algo...
Le mieux étant quand meme que l'algo retourne toujours des elts de meme taille !
Marsh Posté le 08-06-2001 à 16:27:06
d'apres ta méthode : "ABC" ASCII = 65-66-67
A est impair => 65 - 19 = 46
B pair => 66 + 13 = 79
C impair => 67 - 19 = 48
j'ai 46-79-48, qui devient 48-79-46
C'est bien ca ?
si oui, appliquons le méthode de base du hacking
je tappe un nvx mot de passe "BBC" et regarde ce qui change dans mon nouveau résultat
"BBC" => 48-79-79
je peux conclure que B a pour code 79, que A était à la dernière place ...
"CBA" => 48-79-46
j'en conclu que la chaine est inversee ... que A a pour code 48 et C 46 ...
je continue avec toutes les lettres de l'alphabet, => je cree un petit dictionnaire, je remplace les caracteres et j'inverse ... sans savoir si tu as fait +13 ou -19 ou *2 ...
mais évidment c'est pas si simple, il faut d'abord trouver où est fouttu le mot de passe et 46-79-48 (=>".O0" ), ca saute pas au yeux.
en reflechissant, la meilleur solution semble être celle evoquee par seb666
"Il y a aussi la possibilité de stocké en bdd non pas le mot de pass mais par exemple son checksum md5.
Donc quand un user rentre son mdp, su calcule le md5 et tu compare avec celui en bdd..."
ben oui : le meilleur moyen d'empecher de trouver le mot de passe est encore de ne pas le stocker !!!
ici c'est possible et c'est un gros avantage : on veut juste savoir si le pass saisi est correct, et pas permettre de retrouver le mot de passe.
darkoli> "il y a aussi possibilité de faire un ou exculif avec une clé quelconque."
le ou exclusif permet de retrouver le passe, donc moi je propose d'effectuer un AND ou un simple OR avec une clé secrete. on additionne ensuite les valeurs obtenue et on stocke ce nombre.
cette méthode est très difficile à percer (non réversible, utilisée pour les pass UNIX)
on a un seul entier qui change et je pense que le seul moyen pour trouver un mot de passe valide est de trouver l'algo (bon courage).
mais saxgard, tu peux tres bien te contenter d'additionner les codes du mot de passe entré. il te suffit alors de comparer ce code avec celui que tu as associé au login dans ta BDD ...
Marsh Posté le 08-06-2001 à 16:36:12
[citation][nom]HelloWorld a écrit[/nom]
d'apres ta j'ai 46-79-48, qui devient 48-79-46
C'est bien ca ?
non, 849764, mais tu peux toujours t'amuser a rajouter des caracteres ou melanger plus compliqué, c'est le principe qui compte... ou au lieu de faire pair/impair, tu peux faire 20 codes différents..
"BBC" => 48-79-79
impossible, vu que deux caracteres pareil se suivant ne peuvent etre pareil
Marsh Posté le 08-06-2001 à 16:48:23
"impossible, vu que deux caracteres pareil se suivant ne peuvent etre pareil"
arf ... je croyais que tu parlais d'un algo réversible ... ben alors tu t'es sacrement complique la tâche
et sinon tu te sent de programmer cet algo (en VB ou C console je m'en fou ) et de me mailer un petit programme qui quand je tappe un mot de passe, il me renvoit le passe crypté ... je voudrais voir comment il se comporte avec des mots tels que
"AAAAA", "BAAAA", "BBAAA" ... juste pour vérifier que tu as un algo en béton (avoue ke ca t'interresse, vu ke t'as du y réfléchir un petit moment ... )
je serais dispo (vacaaaaaaaaaaaances) dans 2 semaines.
Marsh Posté le 08-06-2001 à 16:59:08
ben je l'ai fais en PHP, mais ca fais tellemnt longtemps que j'y ai pas touché.... Si tu veux et que je retrouve la fonction, je te la mailerais. Demande le moi par mail trictrac@caramail.com, mais tu l'auras pas avant duex semaines
Marsh Posté le 08-06-2001 à 17:43:35
bah ... tant pis c po grave ...
"qui devient 48-79-46 C'est bien ca ?
non, 849764"
tout ca pour dire que peut importe qu'on ai 48, 84 ou ce que l'on veut à la place ... c'est pas ca qui empeche de retrouver un pass.
ce qui compte, c'est que le code généré depende aussi et surtout de la position de la lettre dans le chaine, et dans ton cas, ce qui m'interressais, c'etait la variation du codage d'une lettre en fonction d'une position => voir si ton codage avec seulement 2 valeurs possibles en fonction de la position (1 lettre sur 2 si j'ai bien suivi ) était suffisant = facile ou pas à repérer.
Marsh Posté le 11-06-2001 à 09:19:19
question certainement tres bete , mais ne voulant pas trop me compliqué la tache par faute de temps , je viudrais appliqué la méthode du checksum , quelqu'un connnaitrais t-il le nom de la méthode eb Vbscript si il en existe 1 ou en javascript au pire
merci
Marsh Posté le 08-06-2001 à 10:16:12
salut tt le monde
- je réalise un forum
- j'aimerais savoir comment coder les mots de passe des utilisateurs ,
si quelqu'un a une idée , ou une adresse de site proposant un script pour le cryptage , je suis preneur
merci
[edit]--Message édité par saxgard--[/edit]