(PureBasic) Hash (Digest) a String
Hash the bytes of a string.
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(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.s = CkStringBuilder::ckGetHash(sb,"sha256","hex","utf-8")
Debug "SHA256: " + sha256_hex
; Get the SHA384 hash in hex lowercase
sha384_hex.s = CkStringBuilder::ckGetHash(sb,"sha384","hex_lower","utf-8")
Debug "SHA384: " + sha384_hex
; Get the SHA512 hash in base64
sha512_base64.s = CkStringBuilder::ckGetHash(sb,"sha512","base64","utf-8")
Debug "SHA512: " + sha512_base64
; Get the SHA1 hash in hex lowercase
sha1_hex.s = CkStringBuilder::ckGetHash(sb,"sha1","hex_lower","utf-8")
Debug "SHA1: " + sha1_hex
; Get the CRC8 digest in decimal
crc8_decimal.s = CkStringBuilder::ckGetHash(sb,"crc8","decimal","utf-8")
Debug "CRC8: " + crc8_decimal
CkStringBuilder::ckDispose(sb)
ProcedureReturn
EndProcedure
|