Unicode C
Unicode C
Hash (Digest) a String
Hash the bytes of a string.Chilkat Unicode C Downloads
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
HCkStringBuilderW sb;
const wchar_t *sha256_hex;
const wchar_t *sha384_hex;
const wchar_t *sha512_base64;
const wchar_t *sha1_hex;
const wchar_t *crc8_decimal;
sb = CkStringBuilderW_Create();
CkStringBuilderW_Append(sb,L"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 = CkStringBuilderW_getHash(sb,L"sha256",L"hex",L"utf-8");
wprintf(L"SHA256: %s\n",sha256_hex);
// Get the SHA384 hash in hex lowercase
sha384_hex = CkStringBuilderW_getHash(sb,L"sha384",L"hex_lower",L"utf-8");
wprintf(L"SHA384: %s\n",sha384_hex);
// Get the SHA512 hash in base64
sha512_base64 = CkStringBuilderW_getHash(sb,L"sha512",L"base64",L"utf-8");
wprintf(L"SHA512: %s\n",sha512_base64);
// Get the SHA1 hash in hex lowercase
sha1_hex = CkStringBuilderW_getHash(sb,L"sha1",L"hex_lower",L"utf-8");
wprintf(L"SHA1: %s\n",sha1_hex);
// Get the CRC8 digest in decimal
crc8_decimal = CkStringBuilderW_getHash(sb,L"crc8",L"decimal",L"utf-8");
wprintf(L"CRC8: %s\n",crc8_decimal);
CkStringBuilderW_Dispose(sb);
}