Sample code for 30+ languages & platforms
PureBasic

Hash (Digest) a String

Hash the bytes of a string.

Chilkat PureBasic Downloads

PureBasic
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