Sample code for 30+ languages & platforms
Unicode C

Calculate MD5 Hash of File (or SHA1, SHA256, and other hash algorithms)

See more Encryption Examples

Demonstrates how to calculate a hash for a file's contents.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkCrypt2W.h>

void ChilkatSample(void)
    {
    HCkCrypt2W crypt;
    const wchar_t *hashStr;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    crypt = CkCrypt2W_Create();

    // Set the name of the hash algorithm.
    // Other choices include "sha1", "sha256", "sha384", "sha512", "md2", "md5", and "haval". 
    CkCrypt2W_putHashAlgorithm(crypt,L"md5");

    // EncodingMode specifies the encoding of the hash output.
    // It may be "hex", "url", "base64", or "quoted-printable".
    CkCrypt2W_putEncodingMode(crypt,L"hex");

    // Files of any type may be hashed -- it doesn't matter
    // if the file is binary or text...

    hashStr = CkCrypt2W_hashFileENC(crypt,L"/temp/something.dat");
    if (CkCrypt2W_getLastMethodSuccess(crypt) != TRUE) {
        wprintf(L"%s\n",CkCrypt2W_lastErrorText(crypt));
        CkCrypt2W_Dispose(crypt);
        return;
    }

    wprintf(L"%s\n",hashStr);


    CkCrypt2W_Dispose(crypt);

    }