Cannot understand output of libgcrypt's hashing functions

megamind6155 megamind6155 at
Sun Mar 24 16:17:56 CET 2024


I'm trying to use libgcrypt to generate a hash. I'm pretty new to 
programming so I'm just testing out the library.

This is the code I've written:

#include <stdio.h>
#include <stdlib.h>
#include <gcrypt.h>
#include <stdbool.h>

int main(void)
     const char* gcrypt_version = gcry_check_version(NULL);
     if (!gcrypt_version)
         fprintf(stderr, "ERROR: libgcrypt was unable to initialize\n");
     printf("Gcrypt Version: %s\n", gcrypt_version);

     gcry_control(GCRYCTL_DISABLE_SECMEM, 0);

         fprintf(stderr, "ERROR: libgcrypt has not been initialized\n");

     char* text = "hello\n";
     char hash_storage[200] = {0};
     gcry_md_hash_buffer(GCRY_MD_MD5, hash_storage, text, strlen(text));
     printf("%s\n", hash_storage);

     return 0;


As you can see I'm just trying to test out this function. Everything 
runs but at the end the printf prints out jibberish which I'm unable to 
interpret. How is the hash digest encoded?

Yours faithfully,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Gnupg-devel mailing list