Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1087 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Cryptage de mot de passe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cryptage de mot de passe

n°529080
Shogun2002
Posté le 02-10-2003 à 10:40:41  profilanswer
 

Existe-il une fonction en Java qui permet de crypter des mots de passe ?
 
Merci

mood
Publicité
Posté le 02-10-2003 à 10:40:41  profilanswer
 

n°529083
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 10:44:04  profilanswer
 

Ba y a des fonctions de cryptage/décryptage, oui. Va voir dans java.security et plus particulièrement la classe MessageDigest.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529084
uriel
blood pt.2
Posté le 02-10-2003 à 10:44:52  profilanswer
 

regarde du coté du package java.security
 
tout ce qui est crypt & hash y est
 
edit: grilled à 45 sec [:benou_grilled]


Message édité par uriel le 02-10-2003 à 10:45:31

---------------
IVG en france
n°529113
Shogun2002
Posté le 02-10-2003 à 11:02:18  profilanswer
 

Pour ensuite enregistrer le mot de passe crypté dans sa base de donnéée, vaut mieux la laisser en byte[] ou le convertir en string ?

n°529128
Shogun2002
Posté le 02-10-2003 à 11:21:27  profilanswer
 

Si encodedPassword est un byte[] et si p est aussi un byte[]
 
Tout les deux ont été encodé par MD5 et sont le même mot de passe.
 
Si je fais un test du genre :
 
return p.equals(encodedPassword);
 
va-t il me retourner une erreur ? true ? false ?
 
Sachant qu'en mettant ceci :
 
public boolean verifiePassword(String passwordTest){
  try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5" );
byte[] p = messageDigest.digest(passwordTest.getBytes());  
return messageDigest.isEqual(p, encodedPassword);  
} catch (Exception exc) {
     exc.printStackTrace();
     return false;
   }  
 }
 
Eclipse me sort : "The static method isEqual(Byte[], Byte[]) from the type MessageDigest should be accessed in a static way"  :??:


Message édité par Shogun2002 le 02-10-2003 à 11:22:49
n°529130
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 11:26:06  profilanswer
 

Shogun2002 a écrit :


Eclipse me sort : "The static method isEqual(Byte[], Byte[]) from the type MessageDigest should be accessed in a static way"  :??:


Ba normal, faut faire MessageDigest.isEqual(tableau1, tableau2) [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529137
Shogun2002
Posté le 02-10-2003 à 11:31:26  profilanswer
 

Bah, p c un tableau de Byte et encodedPassword aussi .... :??:

n°529138
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 11:32:52  profilanswer
 

Shogun2002 a écrit :

Bah, p c un tableau de Byte et encodedPassword aussi .... :??:  


Oui mais toi tu utilises une instance de MessageDigest alors que pour les méthodes statiques, il est recommandé d'utiliser directement la classe qui implémente la méthode.
Toi tu fais messageDigest.isEqual(p, encodedPassword)
Il faut faire MessageDigest.isEqual(p, encodedPassword)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529140
darklord
You're welcome
Posté le 02-10-2003 à 11:34:37  profilanswer
 

:whistle:


Message édité par darklord le 02-10-2003 à 11:34:47

---------------
Just because you feel good does not make you right
n°529146
Shogun2002
Posté le 02-10-2003 à 11:36:30  profilanswer
 

Ah oui je trop bete ... :pt1cable:

mood
Publicité
Posté le 02-10-2003 à 11:36:30  profilanswer
 

n°529153
Krueger
tout salaire demande dutravail
Posté le 02-10-2003 à 11:42:37  profilanswer
 


Pourquoi ne pas effacer ton post tout simplement ? :heink:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°529161
darklord
You're welcome
Posté le 02-10-2003 à 11:53:24  profilanswer
 

Krueger a écrit :


Pourquoi ne pas effacer ton post tout simplement ? :heink:


 
et pq je l'effaçerai :heink:
de quoi je me mêle ...
 
c'est un [:blueflag] déguisé et je te merde :o


---------------
Just because you feel good does not make you right
n°529168
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 11:56:17  profilanswer
 

DarkLord a écrit :


c'est un [:blueflag] déguisé et je te merde :o


Stout facile avec MessageDigest. Ce qu'a fait Shogun2002 a l'air de marcher ; perso j'utilisais ça avec MD5 pour créer des UID et ça fonctionne assez bien sans trop de souci :)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529172
benou
Posté le 02-10-2003 à 12:05:32  profilanswer
 


c'est bizare : a aucun moment tu files la clef de criptage. Faut pas faire un update en passant la clef  :??:


---------------
ma vie, mon oeuvre - HomePlayer
n°529176
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 12:08:00  profilanswer
 

benou a écrit :


c'est bizare : a aucun moment tu files la clef de criptage. Faut pas faire un update en passant la clef  :??:  


Citation :

public byte[] digest(byte[] input)
 
    Performs a final update on the digest using the specified array of bytes, then completes the digest computation. That is, this method first calls update(input), passing the input array to the update method, then calls digest().


:o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529178
benou
Posté le 02-10-2003 à 12:09:38  profilanswer
 

je comprend pas... pour crypter, t'as besoin d'une clef et du message à crypter. Là on passe juste le message à crypter. Où est ce qu'on fixe la clef de cryptage ???


---------------
ma vie, mon oeuvre - HomePlayer
n°529180
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-10-2003 à 12:12:53  profilanswer
 

benou a écrit :

je comprend pas... pour crypter, t'as besoin d'une clef et du message à crypter. Là on passe juste le message à crypter. Où est ce qu'on fixe la clef de cryptage ???


Ici, on utilise MD5, c'est pas du cryptage, c'est du hashage. Donc ui, a priori tu peux setter une clé (appelé "salt", je crois) afin d'avoir un encodage différent en fonction de la clé, mais c'est pas nécessaire.
 
EDIT : j'ai trouvé un bout de code qui utilise le salt dans le cadre de l'algorithme SHA-1 (c'est pas de moi, hein, me demandez pas ce qu'il fait) :

Code :
  1. MessageDigest sha = MessageDigest.getInstance ("SHA-1" );
  2. if (args[i].equals ("-c" )) { // check passwords against digest
  3.     ++i;
  4.     String digest = args[i++];
  5.     if (digest.regionMatches (true, 0, "{SHA}", 0, 5)) {
  6.  digest = digest.substring (5); // ignore the label
  7.     } else if (digest.regionMatches (true, 0, "{SSHA}", 0, 6)) {
  8.  digest = digest.substring (6); // ignore the label
  9.     }
  10.    
  11.     byte[][] hs = split (Base64.decode(digest), 20);
  12.     byte[] hash = hs[0];
  13.     byte[] salt = hs[1];
  14.     if (verbose) System.out.println (toHex (hash) + " " +
  15.          toHex (salt));
  16.     for (; i < args.length; ++i) {
  17.  sha.reset();
  18.  sha.update (args[i].getBytes());
  19.  sha.update (salt);
  20.  byte[] pwhash = sha.digest();
  21.  if (verbose) System.out.println (toHex (pwhash));
  22.  if (! sha.isEqual (hash, pwhash)) {
  23.      System.out.println ("doesn't match: " + args[i]);
  24.  }
  25.     }


Message édité par Taiche le 02-10-2003 à 12:16:17

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°529220
benou
Posté le 02-10-2003 à 13:10:27  profilanswer
 

Taiche a écrit :


Ici, on utilise MD5, c'est pas du cryptage, c'est du hashage. Donc ui, a priori tu peux setter une clé (appelé "salt", je crois) afin d'avoir un encodage différent en fonction de la clé, mais c'est pas nécessaire.


ha ok, je savais pas ... merci :)


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Cryptage de mot de passe

 

Sujets relatifs
[Delphi] Stockage d'un mot de passe. [Résolu][PHP] Liste de mots de passe à la con...
[C99] Allouer un tableau de dimensions inconnues en une seule passe[WML] forumulaire qui passe pas
Retrouver un mot de passe Sybase SQL Anywhere[XHTML] IE passe, Mozilla bloque ...
[PHP] Temps passé sur une page ?[PHP/ACCESS] requete UPDATE ne passe pas alors que INSERT et DELETE si
htpasswd : cryptage des mots de passe[php/mysql] mot de passe d'un forum : cryptage ou pas ?
Plus de sujets relatifs à : Cryptage de mot de passe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR