Simplement ce que le sujet indique, qu'est-ce qu'un moyen efficace de mémoire pour calculer un hachage sha256 d'un fichier de taille variable? Je suis également prêt à faire des compromis en utilisant plus de mémoire pour un calcul plus rapide.Comment obtenir un hachage sha256 d'un fichier en utilisant ANSI C
1
A
Répondre
2
Ou utilisez le libcrypto OpenSSL:
3
J'utilise une implémentation simple autonome par Christophe Devine - et alors que son site semble être hors du Net, Google Recherche de code le trouve in this place .
L'utilisation de ces sha256.c
et sha256.h
, le noyau de sa fonction main()
est simplement
if(! (f = fopen(argv[1], "rb")))
{
perror("fopen");
return(1);
}
sha256_starts(&ctx);
while((i = fread(buf, 1, sizeof(buf), f)) > 0)
{
sha256_update(&ctx, buf, i);
}
sha256_finish(&ctx, sha256sum);
for(j = 0; j < 32; j++)
{
printf("%02x", sha256sum[j]);
}
printf(" %s\n", argv[1]);
}
Le reste de la fonction main()
valide la norme FIPS-180-2 vecteurs de test, de sorte que vous obtenez ce sentiment chaud et floue trop/;-)
0
Vous pouvez essayer Con Kolivas's implementation utilisé dans multi-thread FPGA multi-pool et ASIC mineur pour bitcoin ou bien profilé Dr Brian Gladman's code.
Questions connexes
- 1. SHA256 hachage en Python 2.4
- 2. crypter le fichier avec SHA256 en utilisant C/C++
- 3. SHA256 en Objective-C pour iPhone
- 4. stocker un objet dans un tableau en utilisant ansi c?
- 5. Comment tuer un pthread dans ANSI C
- 6. Un hachage SHA256 aura-t-il toujours 64 caractères?
- 7. Générer sha256 avec OpenSSL et C++
- 8. Comment obtenir le hachage MD5 hexadécimal pour un fichier en utilisant VBA?
- 9. encrypt-decrypt avec SHA256 en utilisant java
- 10. ansi-c problème fscanf
- 11. Comment restaurer un fichier en utilisant C#?
- 12. Implémentation de modèle en usine utilisant ANSI C
- 13. Types questions en ANSI C
- 14. cryptage sha256 en erlang
- 15. Comment faire pour obtenir l'icône de fichier en utilisant C++
- 16. Obtenir un hachage ordonné
- 17. comment envoyer un tableau d'octets via udp en utilisant ansi c?
- 18. Calculer HMAC-SHA256 digérer dans ColdFusion en utilisant Java
- 19. Je trouve un problème en utilisant la méthode atoi() dans ansi c?
- 20. Comment puis-je construire un hachage Perl en code C?
- 21. Extension graphique ANSI C
- 22. comment télécharger un fichier en C# en utilisant webclient?
- 23. Comment faire pour obtenir un type de fichier image en utilisant GDI + en C++?
- 24. Obtenir la valeur de hachage en utilisant bash
- 25. Quelqu'un a écrit un dictionnaire (hashmap) en ANSI C?
- 26. Comment lire un fichier codé ANSI contenant des caractères spéciaux
- 27. décompresser un fichier en utilisant C#
- 28. Obtenir l'index de hachage approprié C++
- 29. Modification hachage dans un hachage en Perl
- 30. C++ obtenir PID en utilisant le système
(+1) mais libssl prend un peu de temps pour s'y habituer, la documentation n'est pas facile à obtenir –
+1 OpenSSL est certifié FIPS. Cela peut demander un certain effort pour apprendre à l'utiliser, mais beaucoup moins d'efforts que de coder une implémentation SHA-256 correcte. –
Est-il possible d'afficher un exemple de code en utilisant libcrypto? – randombits