C SHA 256 with Openssl

    char md[SHA256_DIGEST_LENGTH];
    int i;
    SHA256_CTX ctx;
    /* SHA 256 example */
    SHA256_Init(&ctx);
    SHA256_Update(&ctx, "a", 1);
    SHA256_Update(&ctx, "b", 1);
    SHA256_Update(&ctx, "c", 1);
    SHA256_Final(md, &ctx);
    for (i = 0; i < SHA256_DIGEST_LENGTH; i++)
        printf("%02x", md[i] & 0xff);
    printf("n");