C
C
Hash (Digest) a String
Hash the bytes of a string.Chilkat C Downloads
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
HCkStringBuilder sb;
const char *sha256_hex;
const char *sha384_hex;
const char *sha512_base64;
const char *sha1_hex;
const char *crc8_decimal;
sb = CkStringBuilder_Create();
CkStringBuilder_Append(sb,"Hello World");
// Hashing algorithms (i.e. digest algorithms) operate on raw bytes.
// Therefore, we must specify the character encoding (utf-8, utf-16, iso-8859-1, etc.) to be used when hashing.
// Get the SHA256 hash in hex
sha256_hex = CkStringBuilder_getHash(sb,"sha256","hex","utf-8");
printf("SHA256: %s\n",sha256_hex);
// Get the SHA384 hash in hex lowercase
sha384_hex = CkStringBuilder_getHash(sb,"sha384","hex_lower","utf-8");
printf("SHA384: %s\n",sha384_hex);
// Get the SHA512 hash in base64
sha512_base64 = CkStringBuilder_getHash(sb,"sha512","base64","utf-8");
printf("SHA512: %s\n",sha512_base64);
// Get the SHA1 hash in hex lowercase
sha1_hex = CkStringBuilder_getHash(sb,"sha1","hex_lower","utf-8");
printf("SHA1: %s\n",sha1_hex);
// Get the CRC8 digest in decimal
crc8_decimal = CkStringBuilder_getHash(sb,"crc8","decimal","utf-8");
printf("CRC8: %s\n",crc8_decimal);
CkStringBuilder_Dispose(sb);
}