hi, maybe good to know that libgcrypt provides a function which offers "all in one": void gcry_md_hash_buffer (int algo, void *digest, const void *buffer, size_t length) digest can be an array created earlier using the function gcry_md_get_algo_dlen. Stef