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 :

BUG FIX conversion SHA 1


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 106
    Par défaut BUG FIX conversion SHA 1
    Bonjour à tous,
    Mon projet s'inspire de l'aide des membres du forum ainsi que des sources disponible sur le net, les éléments mis bout à bout m'ont permis d'obtenir la conversion en sha1 d'une chaine de caractères.

    MAIS, le problème est le suivant : Le message est correctement affiché dans la mesure ou le premier caractère d'un bloque ne commence pas par 0. les résultats étant sur 40 digits, si il manque un ou plusieurs 0 dans le résultat, le résultat devient donc faux

    Exemple d'erreur :
    i attendu : 042dc4512fa3d391c5170cf3aa61e6a638f84342
    i renvoyé : 42dc4512fa3d391c5170cf3aa61e6a638f84342

    9 attendu : 0ade7c2cf97f75d009975f4d720d1fa6c19f4897
    9 renvoyé : ade7c2cf97f75d09975f4d720d1fa6c19f4897

    Voici le code:


    main.c
    BUG FIXé
    i attendu : 042dc4512fa3d391c5170cf3aa61e6a638f84342
    i renvoyé : 42dc4512fa3d391c5170cf3aa61e6a638f84342

    9 attendu : 0ade7c2cf97f75d009975f4d720d1fa6c19f4897
    9 renvoyé : ade7c2cf97f75d09975f4d720d1fa6c19f4897


    printf("%x", sha.Message_Digest[i]);

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Il suffit -je pense- de spécifier à printf qu'il faut afficher les 0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i = 0; i < 5 ; i++)
    {
        /* remplacement de %c par %0x*/
        printf("%0x", sha.Message_Digest[i]);
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 106
    Par défaut
    désolé mabu, merci de ta réponse, mais le problème persiste

  4. #4
    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
    De mémoire, j'aurai plutôt utilisé cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%.2x", sha.Message_Digest[i]);
    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
    .

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    désolé mabu, merci de ta réponse, mais le problème persiste
    Oui, il faut aussi lui dire la longueur qu'on veut voir affichée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i = 0; i < 5 ; i++)
    {
        /* remplacement de %x par %08x*/
        printf("%08x", sha.Message_Digest[i]);
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 106
    Par défaut
    Génial !


    Oui, il faut aussi lui dire la longueur qu'on veut voir affichée

    Merci mabu


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%08x", sha.Message_Digest[i]);
    est exactement la bonne réponse !!!!


    Excellent ! Encore merci pour vos réponses rapides est précises

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 106
    Par défaut
    Encore une chose s'il vous plait,

    Comment pourriez vous déposer le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%08x", sha.Message_Digest[i]);
    Dans un tableau de 40 cases au lieu de l'afficher ?

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

Discussions similaires

  1. [XL-2007] Bug VBA : conversion .txt en .xlsx - Excel redémarre
    Par Tes_teuse dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/05/2015, 00h10
  2. Bugs fix de version 8.2 à 8.5
    Par _rsk_ dans le forum W4 Express
    Réponses: 5
    Dernier message: 14/10/2011, 11h16

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