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

JavaScript Discussion :

Utilisation API pour hashage sha1


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Septembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Septembre 2023
    Messages : 3
    Par défaut Utilisation API pour hashage sha1
    Bonjour,

    Ce script est lancé dans une box domotique Homey
    J'ai besoin d’utiliser l'API hashify afin d'effectuer un haschage d'une chaine de cratères.

    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
    const password = '123456';
     
    // Générer le timestamp en millisecondes
    const timestamp = Date.now();
    //console.log("timestamp:", timestamp);
     
    //définition de la fonction sha1
    function sha1(input) {
      const urlsha1 = `https://api.hashify.net/hash/sha1/hex?value=${input}`;
      console.log("urlsha1 : ", urlsha1);
     
      return fetch(urlsha1)
        .then(response => {
          return response.json();
        })
        .then(data => data.Digest);
    }
     
    // Hashage
    const dataToHash = `password=${password}&timestamp=${timestamp}`;
     
    console.log('To hash ', dataToHash);
     
      // SHA1
    const sha1Hash = await sha1(dataToHash);
    console.log('Hash SHA1 :', sha1Hash);

    Il devrait me retourner le hashage de la chaine password=${password}&timestamp=${timestamp}.

    Il me retourne tout le temps la même chaine de caractères.
    Je test directement dans postman et, en creusant, je me rend compte qu'il hashe la chaine password=${password}.
    Merci pour votre aide !

  2. #2
    Membre chevronné Avatar de ASCIIDEFOND
    Homme Profil pro
    Autodidacte
    Inscrit en
    Novembre 2002
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Novembre 2002
    Messages : 235
    Par défaut
    Salut LucAnt,

    Apparemment la chaîne de requête de l'URL n'accepte qu'un seul paramètre "valeur=" et n'en prendra pas un autre avec "&". Il donc normal d'avoir toujours le même résultat qui correspond à "password=123456".


    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     // Hashage
    const dataToHash = `${password}${timestamp}`

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Septembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Septembre 2023
    Messages : 3
    Par défaut
    Merci pour ta réponse ASCIIDEFOND mais je dois hacher l'entièreté de la chaine de caractères du type "password=123456&timestamp=1694252689424"
    Cela me servirai à obtenir un jeton pour une autre API.

    Dans postman pour mes tests cela fonctionne bien pourtant

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 571
    Par défaut
    essayez en mettant %26 à la place du &.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Septembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Septembre 2023
    Messages : 3
    Par défaut
    C'est ce que j'ai fait hier soir et ça fonctionne, bien joué !

  6. #6
    Membre chevronné Avatar de ASCIIDEFOND
    Homme Profil pro
    Autodidacte
    Inscrit en
    Novembre 2002
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Novembre 2002
    Messages : 235
    Par défaut
    En remplaçant & par sa valeur hexadécimal %26 il n'y aura pas la même signature. Maintenant ci-cela convient c'est le principal

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2012, 15h41
  2. Utilisation API C++ pour SQLite
    Par Climoo dans le forum Débuter
    Réponses: 3
    Dernier message: 21/11/2011, 19h35
  3. [Mappy] [API Challenge] Utilisation de l'API pour une WebApp
    Par R.Cambien dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 15/03/2010, 13h23
  4. [USB]Comment utiliser cette API pour la communication USB
    Par fouguasse dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 19/08/2007, 18h18
  5. Réponses: 36
    Dernier message: 13/05/2004, 18h22

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