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 :

Cryptage {SHA} pour comparaison LDAP


Sujet :

Sécurité Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Cryptage {SHA} pour comparaison LDAP
    Salut a tous
    Voila mon souci

    je doit connecter a une base openldap pour vérifier si le mot de passe taper par l'utilisateur est correct
    donc j'ai le mot de pass en clair (tapé par l'utilisateur) exemple: "oaar47"

    je récupére l'attribut "userpassword" du ldap qui me donne le mot de passe de l'utilisateur sous la forme:
    "{SHA}99tJwMQQoeWFAWIa3iLaGUpHKoo="


    et je veux donc pouvoir crypter mon mot de passe ici oaar47 pour qu'il se transforme en {SHA}99tJwMQQoeWFAWIa3iLaGUpHKoo=

    j'ai déjà testé plein de source mais je n'arrive jamais a récupérer une chaine de caractère correct

    si qqn a déjà développé cette fonction je suis grand preneur

    je vous remercie a tous de votre aide
    car la je sature
    Bye

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Ca m'a tout l'air d°etre la valeur de hash codée en base 64... Tu dois surement récupérer un tableau d'octet avec ta méthode, et ensuite avec un convertisseur tu peux récupérer ta chaine en base 64. Il te faut ensuite ajouter {SHA} au d´but ou retirer celui de openldap au choix... Essaye et tiens moi au courant

    EDIT : je confirme, c'est simplement ton tableau d'octets résultat de SHA-1, converti en base 64 avec "{SHA}" ajouté devant...
    Ta chaine (sans {SHA}) fait 168 bit et SHA-1 produit un résultat de 160 bits. Les 8 bits supplémentaires sont du padding ajouté pour la conversion en base 64. Bref java fait ca tout seul très bien, et n'importe quel encoder base 64 te convertira ton tableau d'octet

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé, merci George7 pour la base 64

    je poste le code si ça peu servir a qqn d'autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String passuser = "test";
     
    MessageDigest sha = MessageDigest.getInstance ("SHA-1" );
    sha.reset();
    sha.update(passuser.getBytes());
    byte[] digest = sha.digest();
    String pass = new String(Base64.encode(digest));
    pass = "{SHA}" + pass;
    bye

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 50
    Points : 40
    Points
    40
    Par défaut
    Salut,

    Je cherche à mettre à jour un mot de passe sur un annuaire OpenLDAP en passant par SpringLDAP.

    Text brut, SHA et MD5 passent à merveille, mon souci est que je veux enregistrer le mot de passe en SSHA Je ne sais pas comment faire vu que OpenLDAP doit avoir le SALT pour pouvoir recalculer et comparer.

    y'a-t il un moyen pour communiquer le salt qu'on a utilisé ? ou bien envoyer un text brute (ssl) et laisser OpenLDAP s'occuper de générer le salt, le stocker et calculer le mot de passe ?

    D'avance Merci

    Mourad

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 50
    Points : 40
    Points
    40
    Par défaut
    Salut,

    En fait, la solution à mon problème est toute bête (testée avec OpenLDAP)

    Il suffit de mêtre à jour le mot de passe avec

    {SSHA} + BASE64(SHA1(MDP_CLAIR + SEED)) + BASE64(SEED)

    OpenLDAP prend bien en compte la modification et stocke bien le SEED somewhere, enfin, le BIND marche après avoir mis à jour le MDP comme ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD19] Convertion SSHA pour comparaison avec mdp LDAP
    Par Orion1987 dans le forum WinDev
    Réponses: 4
    Dernier message: 12/01/2015, 13h30
  2. Cryptage SSL pour recevoir des mail
    Par maximedrouet dans le forum Web & réseau
    Réponses: 8
    Dernier message: 10/04/2009, 14h28
  3. aide pour comparaison
    Par garga69 dans le forum Linux
    Réponses: 4
    Dernier message: 05/01/2007, 22h17
  4. Cryptage SHA-1 etc....
    Par storm_3000 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 08/03/2006, 16h28
  5. Réponses: 6
    Dernier message: 08/01/2006, 12h49

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