Sample code for 30+ languages & platforms
Xbase++

Hash (Digest) a String

Hash the bytes of a string.

Chilkat Xbase++ Downloads

Xbase++
LOCAL oSb
LOCAL cSha256_hex
LOCAL cSha384_hex
LOCAL cSha512_base64
LOCAL cSha1_hex
LOCAL cCrc8_decimal

oSb := CreateObject("Chilkat.StringBuilder")

oSb:Append("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
cSha256_hex := oSb:GetHash("sha256", "hex", "utf-8")
? "SHA256: " + cSha256_hex

//  Get the SHA384 hash in hex lowercase
cSha384_hex := oSb:GetHash("sha384", "hex_lower", "utf-8")
? "SHA384: " + cSha384_hex

//  Get the SHA512 hash in base64
cSha512_base64 := oSb:GetHash("sha512", "base64", "utf-8")
? "SHA512: " + cSha512_base64

//  Get the SHA1 hash in hex lowercase
cSha1_hex := oSb:GetHash("sha1", "hex_lower", "utf-8")
? "SHA1: " + cSha1_hex

//  Get the CRC8 digest in decimal
cCrc8_decimal := oSb:GetHash("crc8", "decimal", "utf-8")
? "CRC8: " + cCrc8_decimal

oSb:destroy()