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

C++ Discussion :

pb avec md5 d'open ssl


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut pb avec md5 d'open ssl
    salut,si quelq'un pouvait m'aider g un pb avc MD5 d'openssl, je veut hacher une donnée(de type unsigned char)NB fois mais j'arrive pas à le faire dans une boucle g un pb de convertion de type car MD5 a la syntax suivante
    *MD5(const unsigned char *d, syze_t, unsigned char *md)
    g fait le code suivant mais ça n'a pas marcher
    int i;
    unsigned char seed=rand();
    const unsigned char *sd=&seed;//sd pointe sur seed
    unsigned char *X;

    MD5(sd,sizeof(u_int32_t) , X);

    for (i=1; i<NB ; i++)
    {
    MD5(X,sizeof(u_int32_t) , X);

    }


    si vous avez une idée sur l'utilisation de md5(ou sha) dans une boucle envoyer la moi en urgence.merci

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    MD5 va générer le hash dans un buffer de 32 octets (128 bits). C'est à toi d'allouer ce buffer (X[32])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unsigned char seed=rand();
    unsigned char X[32];
    MD5(&seed, sizeof(seed), X);
    Par contre, dans la boucle, je ne pense pas qu'il soit très "sain" de calculer le hash sur un buffer et de ranger le hash dans ce même buffer. Tu t'exposes à des effets de bords ou des crash.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    unsigned char input[32];
    unsigned char output[32];
    memcpy(input, X, sizeof(X));
    for(i=1; i<NB ; i++)
    {
       MD5(input, sizeof(input), output);
       memcpy(input, output, sizeof(output));
    }
    cela me parait plus "safe". Le résultat est dans input et output en fin de boucle.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    merci de m'avoir aider je v essayer cette solution j'espére que ça va marcher

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    Salut ram_0000
    Je te remerci, c vrai qu’avec ces modif le pg est plus « safe » mais le pb de convertion de type y est tousjour ; MD5 prend en entré une données de type « const unsigned char » et rend un « unsigned char » càd input et output ne sont pas du même type.

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    si si, input et output sont du même type : unsigned char *
    Par contre le prototype de MD5 indique le buffer input ne sera pas modifié par la fonction (const) ce qui me semble très logique soit dit en passant.

    D'ailleurs, un pointeur "unsigned char *" est transformé si nécessaire par le compilateur en pointeur "const unsigned char *" implicitement sans que tu n'aie rien à faire.

    Ou alors, je ne comprends pas bien ton problème.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Cryptage mot de passe avec Open SSL
    Par drvercetti dans le forum AIX
    Réponses: 0
    Dernier message: 01/04/2011, 14h28
  2. Utilisation de Open SSL avec les librairies PHP
    Par onlajoy dans le forum Langage
    Réponses: 0
    Dernier message: 11/05/2010, 09h15
  3. cryptage/décryptage AES / open SSL avec VB6 ?
    Par Popaul22 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2010, 16h04
  4. screen.availWidth avec la methode open()
    Par niro75 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/08/2005, 14h59
  5. Réponses: 1
    Dernier message: 02/01/2003, 12h45

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