Existe-t-il une bibliothèque standard ou une bibliothèque couramment utilisée pouvant être utilisée pour calculer les hachages SHA-512 sous Linux?
Je cherche une bibliothèque C ou C ++.
Avez-vous vérifié OpenSSL . Je ne l’ai pas moi-même utilisé mais la documentation dit qu’il le supporte.
Voici une liste de quelques implémentations supplémentaires.
Exemple de code
md = EVP_get_digestbyname("sha512"); EVP_MD_CTX_init(&mdctx); EVP_DigestInit_ex(&mdctx, md, NULL); EVP_DigestUpdate(&mdctx, mess1, strlen(mess1)); EVP_DigestUpdate(&mdctx, mess2, strlen(mess2)); EVP_DigestFinal_ex(&mdctx, md_value, &md_len); EVP_MD_CTX_cleanup(&mdctx);
J’utilise Botan à diverses fins cryptographiques. Il a plusieurs sortes d’algorithmes SHA (-512).
Lorsque je regardais les bibliothèques de cryptage C ++, j’ai également trouvé Crypto ++ . Le style de l’API Botan était plus simple pour moi, mais ces deux bibliothèques sont solides et matures.
Vérifiez ce code . Il est entièrement portable et ne nécessite aucune configuration supplémentaire. Seul le STL suffirait. Vous aurez juste besoin de déclarer
#include "sha512.hh"
puis utilisez les fonctions
sw::sha512::calculate("SHA512 of std::ssortingng") // hash of a ssortingng, or sw::sha512::file(path) // hash of a file specified by its path, or sw::sha512::calculate(&data, sizeof(data)) // hash of any block of data
chaque fois que vous en avez besoin. Leur valeur de retour est std::ssortingng
J’ai eu beaucoup de succès avec ceci:
Algorithme de hachage sécurisé (SHA)
Licence BSD. Il couvre SHA-1, SHA-224, SHA-256, SHA-384 et SHA-512. Il a des fonctions d’assistance soignées qui réduisent les étapes pour les cas simples:
SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH])
Il a également beaucoup d’options de réglage des performances.