Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2336 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Calcul de hash SHA-1

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul de hash SHA-1

n°660795
Kyle_Katar​n
Posté le 02-03-2004 à 12:31:13  profilanswer
 

Bonjour,
 
Je dois utiliser des hash SHA-1 pour un projet sur lequel je travaille.
 
On le digest est un tableau de byte, que je balance dans IntToHex de Delphi et j'en obtient la représentation en chaine en base 16.
C'est comme ça que ça se fait en MD4/5 mais visiblement pas en SHA-1 car j'ai trouvé des hashes du type : sha1:LMFXTUQSWWB6JSKQOMJSXCDBFHDJKNVP
 
Savez vous comment on obtient de tels hash à partir du digest sha-1 ?

mood
Publicité
Posté le 02-03-2004 à 12:31:13  profilanswer
 

n°661148
Kyle_Katar​n
Posté le 02-03-2004 à 16:49:37  profilanswer
 

Up...

n°661175
Taz
bisounours-codeur
Posté le 02-03-2004 à 17:00:58  profilanswer
 

ben avec l'algorithme du même nom

n°661238
Kyle_Katar​n
Posté le 02-03-2004 à 17:33:55  profilanswer
 

Oui mais je sais pas comment l'avoir "sous cette forme"...
 
j'ai un beau "array of byte" en sortie ...

n°662619
docmaboul
Posté le 04-03-2004 à 11:53:55  profilanswer
 

Kyle_Katarn a écrit :

Bonjour,
 
j'ai trouvé des hashes du type : sha1:LMFXTUQSWWB6JSKQOMJSXCDBFHDJKNVP
 
Savez vous comment on obtient de tels hash à partir du digest sha-1 ?


 
On encode le sha-1 en base 32 [ABCDEFGHIJKLMNOPQRSTUVWXYZ234567] et non pas en base 16.

n°662622
Taz
bisounours-codeur
Posté le 04-03-2004 à 11:54:33  profilanswer
 

cai nul la base 32, la base 64 d'accord mais 32 ?


Message édité par Taz le 04-03-2004 à 11:54:47
n°662642
Kyle_Katar​n
Posté le 04-03-2004 à 12:04:42  profilanswer
 

Merci

n°662654
Taz
bisounours-codeur
Posté le 04-03-2004 à 12:10:34  profilanswer
 

la nuit après avoir répondu, j'ai pensé à base64 dans mon sommeil, mais quand je suis revenu, je me suis dit, non, c'est pas ça, y a pas de minuscule :D  
 
 
c'est quoi l'intéret de la base 32 ? ah oui 32*5 ça fait 160:D

n°662671
Kyle_Katar​n
Posté le 04-03-2004 à 12:26:23  profilanswer
 

Comment est ce que je peux convertir en Delphi un tableau de byte en chaine base 32 ?

n°662674
Taz
bisounours-codeur
Posté le 04-03-2004 à 12:28:55  profilanswer
 

ah ouais làa ça se corse :D

mood
Publicité
Posté le 04-03-2004 à 12:28:55  profilanswer
 

n°662678
Kyle_Katar​n
Posté le 04-03-2004 à 12:30:46  profilanswer
 

Ben pas trop je pense mais je pense que vous le ferez de manière plus optimale que moi...

n°662680
Kyle_Katar​n
Posté le 04-03-2004 à 12:31:20  profilanswer
 

(étant donné que le calcul doit être fait de manière assez répétitive dans mon appli, je préfèrerai prendre une BONNE solution)

n°662681
Taz
bisounours-codeur
Posté le 04-03-2004 à 12:31:58  profilanswer
 

le truc c'est que lire par paquets de 5bits, c'est un peu compliqué :D ou alors doit y avoir une astuce pour faire ça

n°662684
Taz
bisounours-codeur
Posté le 04-03-2004 à 12:34:18  profilanswer
 
n°662691
Kyle_Katar​n
Posté le 04-03-2004 à 12:37:41  profilanswer
 

Merci beaucoup !

n°662751
docmaboul
Posté le 04-03-2004 à 13:13:28  profilanswer
 

Kyle_Katarn a écrit :

Comment est ce que je peux convertir en Delphi un tableau de byte en chaine base 32 ?


 
En delphi, je sais pas mais en pseudo-code C/C++ , chez les trolls, on fait quelque chose comme ça:
 
// gsBase32Chars, une chaîne contenant ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
 
// bytes, le tableau à encoder
// len, sa longueur
 
// word, un unsigned byte
// i, nIndex, des compteurs
// Base32Buf, le résultat
 
 

Code :
  1. for(i = 0, nIndex = 0; i < len ; )
  2. {
  3.   if (nIndex > 3) {
  4.     word = (bytes[i] & (0xFF >> nIndex));
  5.     nIndex = (nIndex + 5) % 8;
  6.     word <<= nIndex;
  7.     if (i < len - 1)  word |= bytes[i + 1] >> (8 - nIndex);
  8.   i++;
  9.   } else {
  10.     word = (bytes[i] >> (8 - (nIndex + 5))) & 0x1F;
  11.     nIndex = (nIndex + 5) % 8;
  12.     if (nIndex == 0) i++;
  13.   }
  14.   Base32Buff += (char) gsBase32Chars[word];
  15. }


 
Pour les explications et les optimisations, faut demander à un non troll, au copaing taz par exemple (s'il ne trouve pas ça trop compliqué).


Message édité par docmaboul le 04-03-2004 à 13:14:55
n°662757
Kyle_Katar​n
Posté le 04-03-2004 à 13:18:32  profilanswer
 

Merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Calcul de hash SHA-1

 

Sujets relatifs
[perl] tableau et hashProgramme de calcul d'intégrales
calcul CRC[pascal] calcul mathématique
[C/Cpp] Calcul littéral ?formule de calcul Excel
Calcul d'une durée de plus de 24h[Divers] hash SHA bin
Sélection de feuille de calcul sous Excel (VBA) 
Plus de sujets relatifs à : Calcul de hash SHA-1


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR