IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Java Discussion :

Décrypatge d'une chaine avec SHA-256


Sujet :

Sécurité Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut Décrypatge d'une chaine avec SHA-256
    Bonjour,

    J'ai besoin de décrypter une chaine après avoir crypté en 1er lieu.
    J'ai cherché sur le net mais j'ai pas trouvé une chose satisfaisante.
    Je travaille en java 1.4.

    Ci dessous ma méthode de cryptage :
    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
    public static String sha256(String string){
    		String ret = "";
     
    		byte[] defaultBytes = string.getBytes();
    		try{
    			MessageDigest algorithm = MessageDigest.getInstance("SHA-256");
    			algorithm.reset();
    			algorithm.update(defaultBytes);
    			byte messageDigest[] = algorithm.digest();
     
    			StringBuffer hexString = new StringBuffer();
     
    			for (int i=0;i<messageDigest.length;i++) {
    				String hex = Integer.toHexString(0xFF & messageDigest[i]); 
    				if(hex.length()==1)
    				hexString.append('0');
     
    				hexString.append(hex);
    			     }
     
    			ret = hexString+"";
    		}catch(NoSuchAlgorithmException nsae){
     
    		}
    		return ret;
    	}
    Merci d'avance.

  2. #2
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    SHA-256 n'est pas un cryptage, donc ce n'est pas décryptable

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut
    Citation Envoyé par kedare Voir le message
    SHA-256 n'est pas un cryptage, donc ce n'est pas décryptable
    Comment je peux donc pour restituer ma chaîne que je l'ai haché avec sha-256?
    En fait le traitement est le suivant :
    je hache ma chaîne avec sha-256 et je la passe en paramètre de mon url (page jsp).
    Je récupère ce paramètre haché, à ce moment j'ai besoin de la décrypter pour que je puisse consulter ma bd, ma requête utilise la chaîne en clair (qui est passée en paramètre dans l'url haché en sha-256).

    Merci d'avance.

  4. #4
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    Comme je viens de le dire, c'est impossible, tourne toi vers le base64 plutôt pour ce que tu veux faire.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tu n'utilises pas les bons outils pour ton besoin. Si ton but et des transmettre une version chiffrée d'un mot de passe et de retrouver la version claire de l'autre côté, alors les algorithmes de hachage sont à oublier, car ils sont à sens unique.

    Le mieux pour faire ce que tu veux faire est surement de passer par une connexion chiffrée et de passer le mot de passe par une méthode POST, comme ça il sera chiffré avant l'envoi.
    En plus en utilisant ce principe, tu utilises des méthodes éprouvées qui assurent la sécurité du transfert du mot de passe entre ton client et ton server, et surtout tu ne dois pas t'occuper du chiffrage/déchiffrage des choses, le tout étant fait par ton client et ton server correctement configuré.
    Passer des informations sensibles par l'URL n'est pas vraiment une bonne idée à mon sens...
    Donc je dirais de plutôt te pencher vers la configuration de ton server pour utiliser SSL et de voir comment tu peux passer ton mot de passe autrement que par l'URL (tu utilises un formulaire pour renseigner ce champ ?)

    A plus

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kedare Voir le message
    Comme je viens de le dire, c'est impossible, tourne toi vers le base64 plutôt pour ce que tu veux faire.
    Euh... non... Base64 c'est un encodage pas un chiffrage. Rien n'est protégé avec base 64, c'est juste pour encoder n'importe quoi avec seulement 64 caractères, mais encore une fois, ça ne protège rien du tout

  7. #7
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    Citation Envoyé par George7 Voir le message
    Euh... non... Base64 c'est un encodage pas un chiffrage. Rien n'est protégé avec base 64, c'est juste pour encoder n'importe quoi avec seulement 64 caractères, mais encore une fois, ça ne protège rien du tout
    Il a pas précisé qu'il voulait proteger les données, juste les tranferer via une URL.

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 961
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 961
    Par défaut
    Jai,
    Citation Envoyé par kedare Voir le message
    Il a pas précisé qu'il voulait proteger les données, juste les tranferer via une URL.
    Il a parlé de décryptage, ce qui dit bien ce que ça veut dire (même s'il s'est trompé d'outil).

  9. #9
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Citation Envoyé par droggo Voir le message
    Jai,

    Il a parlé de décryptage, ce qui dit bien ce que ça veut dire (même s'il s'est trompé d'outil).
    Ça veut dire passer un texte chiffré en texte clair sans avoir la clef.

    Donc bon, comme lahmar.abdel1 emploie pas le bon vocabulaire on peut passer à kedare d'avoir parlé d'encodage.

    PS : Ah oui et Maitre Cappello me dit dans l'oreillette qu'il faut pas oublier de dire que cryptage n'existe pas. Faut dire chiffrer (ou chiffrement)

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/01/2006, 12h05
  2. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24
  3. [Java/String] Completer une chaine avec un caractere
    Par shaun_the_sheep dans le forum Langage
    Réponses: 4
    Dernier message: 31/05/2005, 09h01
  4. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09
  5. Affichage de l'adresse d'une chaine avec cout
    Par thierryguilbert dans le forum SL & STL
    Réponses: 4
    Dernier message: 14/03/2005, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo