Sample code for 30+ languages & platforms
PowerBuilder

Hash (Digest) a String

Hash the bytes of a string.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Sb
string ls_Sha256_hex
string ls_Sha384_hex
string ls_Sha512_base64
string ls_Sha1_hex
string ls_Crc8_decimal

loo_Sb = create oleobject
li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
    destroy loo_Sb
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Sb.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
ls_Sha256_hex = loo_Sb.GetHash("sha256","hex","utf-8")
Write-Debug "SHA256: " + ls_Sha256_hex

// Get the SHA384 hash in hex lowercase
ls_Sha384_hex = loo_Sb.GetHash("sha384","hex_lower","utf-8")
Write-Debug "SHA384: " + ls_Sha384_hex

// Get the SHA512 hash in base64
ls_Sha512_base64 = loo_Sb.GetHash("sha512","base64","utf-8")
Write-Debug "SHA512: " + ls_Sha512_base64

// Get the SHA1 hash in hex lowercase
ls_Sha1_hex = loo_Sb.GetHash("sha1","hex_lower","utf-8")
Write-Debug "SHA1: " + ls_Sha1_hex

// Get the CRC8 digest in decimal
ls_Crc8_decimal = loo_Sb.GetHash("crc8","decimal","utf-8")
Write-Debug "CRC8: " + ls_Crc8_decimal


destroy loo_Sb