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 :

utilisation librairie libmd5


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut utilisation librairie libmd5
    Bonsoir,

    j'utilise Code::blocks sous Ubuntu
    je désire utiliser la bibliothèque libmd5 dans un projet en C.
    je ne comprends pas comment doit-on utiliser cette bibliothèque, pourtant les noms des fonctions sont plutot explicites...

    Si quelqu'un a déja du utilisé cette bibliotheque, je suis preneur de tous ces conseils

    Merci

    EDIT: j'ai essayé de l'utiliser comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        md5_byte_t *text = "test_hashage";
        md5_word_t taille = strlen(text);
        md5_byte_t digest[16];
        md5_state_t pms;
     
        md5_init(&pms);
        md5_append(&pms, text, taille);
        md5_finish(&pms, digest);
     
        fputs(digest, stdout);
    j'ai plusieurs warnings:
    /home/.../libmd5/test_libmd5/main.c:9: warning: pointer targets in initialization differ in signedness
    /home/.../libmd5/test_libmd5/main.c:10: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness
    /home/.../libmd5/test_libmd5/main.c:18: warning: pointer targets in passing argument 1 of ‘fputs’ differ in signedness
    :: === Build finished: 0 errors, 3 warnings ===

  2. #2
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Salut

    Je connais pas cette librairie mais md5_byte_t est surement "unsigned char *". suffirait de caster en (const) char * dans un contexte où on considere qu'il s'agit de chaines (strlen, fputs) ; ou inversement de garder les chaines avec des pointeurs sur (const) char et convertir en (const) md5_byte_t lorsque c'est necessaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        const char *text = "test_hashage";
        md5_word_t taille = strlen(text);
        md5_byte_t digest[16];
        md5_state_t pms;
     
        md5_init(&pms);
        md5_append(&pms, (const md5_byte_t *) text, taille);
        md5_finish(&pms, digest);
     
        fputs((char *)digest, stdout);

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    Bonjour,

    voila j'ai suivi tes conseils Gruik et je n'ai plus les warnings. Sauf que le résultat du hash (stocké dans la variable digest) est complètement incohérent. Les codes ASCII sont tantot négatifs, tantot positifs.

    Voici le code que j'utilise :
    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
    27
    28
    29
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    #include "../md5.h"
     
    int main(int argc, char *argv[])
    {
        const char *text = "bonjour, le monde est beau aujourd'hui";
        char digest[16];
        int taille = strlen(text);
        int i = 0;
     
        md5_state_t pms;
     
        md5_init(&pms);
        md5_append(&pms, (md5_byte_t *) text, taille);
        md5_finish(&pms, (md5_byte_t *) digest);
     
        /* Affichage des Codes ASCII */
        for(i = 0; i < 16; i++)
            printf("%d ", digest[i]);
     
        /* Affichage de la chaine */
        fputs(digest, stdout);
     
        return 0;
    }
    Je mets en pièce jointe la bibliothèque pour ceux que cela intéresse

  4. #4
    Membre actif
    Homme Profil pro
    Analyste/développeur Java EE
    Inscrit en
    Janvier 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste/développeur Java EE

    Informations forums :
    Inscription : Janvier 2005
    Messages : 376
    Points : 271
    Points
    271
    Par défaut
    Peut-être une petite recherche sur la librairie md5.h sur le fourm ?

    J'ai trouvé ceci, ça pourrait p-e t'intéresser
    Utilisez les balises "Code" (alt+c).
    Nous avons répondu à votre question? Pensez au tag

    Le "lol" est aux boulets ce que le ";" est aux programmeurs

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

Discussions similaires

  1. Problème utilisation librairie libxml2 sous BC6
    Par ben_reveur dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/03/2010, 18h09
  2. Interface SD-ATMEGA / Utilisation librairie EFSL
    Par ChipieChoupette dans le forum Automation
    Réponses: 1
    Dernier message: 08/12/2008, 13h16
  3. Problème utilisation librairie gsoap
    Par Samildanach dans le forum XML
    Réponses: 0
    Dernier message: 20/07/2008, 13h04
  4. Utiliser librairie C# dans Excel
    Par Jarro dans le forum C#
    Réponses: 9
    Dernier message: 05/02/2008, 16h53
  5. Utiliser librairie externe dans son plugin
    Par ghillairet dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 09/01/2008, 10h56

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