J'éssai de coder sha1 en C ! - C - Programmation
Marsh Posté le 12-01-2009 à 19:30:46
Oué, y a encore du boulot pour avoir un truc compilable.
Quelques remarques:
Code :
|
Edit: bon, en fait, c'est possible de manipuler directement le contenu du fichier comme un tableau de caractère comme tu le fais. Mais c'est un concept relativement avancé, et si tu en as connaissance, tu ne posterais sans doute pas dans ce forum.
Marsh Posté le 12-01-2009 à 19:52:50
quent57 a écrit : Bonjour, j'ai essayer de codé la fonction de hachage sha1 |
Pourquoi?
Marsh Posté le 12-01-2009 à 20:17:52
Merci pour vos réponses !
tpierron a écrit : Oué, y a encore du boulot pour avoir un truc compilable.
|
Bon alors, ok pour la taille d'un fichier, je fait des recherches sur la syntaxe de tes trois fonction (ou si tu veux m'en dire plus ?)
Sinon j'ai pas compris grand choses à la manipulation de fichiers c'est vrai,
en faite je me suis inspiré d'une autre implantation de sha-1, trouvé sur le net, qui utilisai ce concept ('fichier +1' etc)
Je me suis dis que c'était logique vu que fichier est un pointeur, et comme je manipule des bit, ba sa fait une case dans la mémoire vive, on peut donc directement ajouter 1 au pointeur fichier ..., pour avoir le bit d'aprés
Aurai tu d'autre conseil ?
Je suis enfin chez moi, je vais pouvoir compiler !!
masklinn a écrit : |
Pour la fac ^^
Marsh Posté le 13-01-2009 à 10:25:39
tpierron a écrit :
|
Attention aux fichiers de plus de 4Go ...
Marsh Posté le 13-01-2009 à 15:12:14
theshockwave a écrit : Attention aux fichiers de plus de 4Go ... |
Arf, exact. Il y a pour cela les fonction fseeko et ftello qui retournent un off_t au lieu de long. Mais c'est du POSIX, et non plus du C.
Marsh Posté le 13-01-2009 à 15:23:08
Oui, quel intéret de réinventer la roue ?
Ca a déjà été fait il y a plus de 20 ans.
36000 codes en C sur le Web.
Marsh Posté le 13-01-2009 à 15:44:42
L'intéret est de s'entrainer a coder je suppose, on ne peut inventer des choses sans savoir comment les algorytmes existants marchent je pense !
Sinon je répète que c'est pour la fac !
Je testerai votre bout de code bientot, la jsuis en pleine periode de partiel ....
Merci pour vos conseils !
Marsh Posté le 13-01-2009 à 16:14:40
Hmm, le seul bout de code qui a été présenté, c'est une autre façon de calculer la taille d'un fichier, et il est sans intérêt.
Ta boucle de lecture du fichier est de toute façon pas terrible, tu n'as pas besoin de la taille du fichier. Pour calculer le SHA1, lit le fichier par bloc (car de toute façon, c'est comme ça que travaille l'algo du SHA1), si la quantité de données lues est inférieure à la taille du bloc, rajoute des 0 à la fin du bloc. Voilà, pas besoin de connaitre la taille du fichier.
Marsh Posté le 13-01-2009 à 17:59:44
Oui je veux bien mais comment puis-je lire le fichier par bloc ?, je teste les 512 prochain bit a chaque foi ? ( a chaque itération)
Marsh Posté le 13-01-2009 à 19:25:45
fread et plus généralement la biliothèque stdio, qui est la base minimale du C.
Marsh Posté le 14-01-2009 à 09:18:49
quent57 a écrit : algorytmes |
aaaaaaaah mes yeux
Marsh Posté le 12-01-2009 à 18:10:18
Bonjour, j'ai essayer de codé la fonction de hachage sha1, mais je ne peut pas compiler pour l'instant, pouvez vous me dire ce que vous en pensez ?
Je me suis basé sur le pseudo code disponible sur wikidepia http://en.wikipedia.org/wiki/SHA_hash_functions
Merci d'avance !
Code : C