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

Groovy Java Discussion :

hashage SHA-256 avec résultat en base64


Sujet :

Groovy Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut hashage SHA-256 avec résultat en base64
    Bonjour à tous,
    je cherche à obtenir un résultat en base 64 au lieu d'hexadéciamle avec le code suivant
    Code groovy : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    static String checksum( String input ) {
    def digest = java.security.MessageDigest.getInstance("SHA-256")
    digest.update( input.bytes )
    new BigInteger(1,digest.digest()).toString(16).padLeft(32, '0')
    }
     def zetest=checksum('hello world') 
    String encoded = zetest.getBytes().encodeBase64().toString()
    log.info(zetest)
    log.info(encoded)
    j'obtiens : hex b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
    je souhaite base 64 : uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=

    une idée? =)

    Merci, bein cdlt

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Base 64 veut représenter le digest byte[], et le string hexadécimal a la même intention. Dans le code, vous avez déjà fait un string hexadécimal à partir du digest, si on le représente en base 64, ce n'est pas le but original. Soit on fait ça,
    Code groovy : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def zetest=checksum('hello world') 
    //String encoded = zetest.getBytes().encodeBase64().toString()
    String encoded = zetest.decodeHex().encodeBase64().toString()
    soit on change la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    static String checksum( String input ) {
        def digest = java.security.MessageDigest.getInstance("SHA-256")
        digest.update( input.bytes )
        digest.digest().encodeBase64().toString()
    }

Discussions similaires

  1. Décrypatge d'une chaine avec SHA-256
    Par lahmar.abdel1 dans le forum Sécurité
    Réponses: 8
    Dernier message: 17/11/2010, 16h41
  2. Hashage SHA - 256
    Par K-Kaï dans le forum Sécurité
    Réponses: 6
    Dernier message: 26/04/2010, 17h38
  3. [Cookies] Connexion automatique impossible avec SHA 256
    Par Janitrix dans le forum Langage
    Réponses: 1
    Dernier message: 13/03/2007, 19h20
  4. Réponses: 6
    Dernier message: 08/01/2006, 12h49
  5. problème avec résultat de recherche multi-critères
    Par audrey_desgres dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 11h00

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