PureBasic
PureBasic
Encrypting or Hashing Hex or Base64 Encoded Binary Data
This example demonstrates how to encrypt binary input data that is in an encoded string form, such as "hex" or "base64". The goal is to do the following:- Decode the input to get the binary data to be hashed or encrypted.
- Hash or encrypt.
- Encode the result and return as a hex or base64 encoded string.
Chilkat PureBasic Downloads
IncludeFile "CkCrypt2.pb"
Procedure ChilkatExample()
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
crypt.i = CkCrypt2::ckCreate()
If crypt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
sHexBinary.s = "9D4203A3FF07791A1CD7FB0075D179E14E8B9DBEBFDE24F6D04613B8397B328E"
; The input is hex-encoded binary data, so set the Charset property = "hex"
; The Charset can also be "base64".
CkCrypt2::setCkCharset(crypt, "hex")
; The output will be encoded to hex also.
CkCrypt2::setCkEncodingMode(crypt, "hex")
CkCrypt2::setCkHashAlgorithm(crypt, "ripemd160")
hash.s = CkCrypt2::ckHashStringENC(crypt,sHexBinary)
Debug "RIPEMD160: " + hash
; Important: This example requires Chilkat v9.5.0.49 or greater to work correctly.
; The same can be accomplished w/ encryption:
CkCrypt2::setCkCryptAlgorithm(crypt, "aes")
CkCrypt2::setCkCipherMode(crypt, "cbc")
CkCrypt2::setCkKeyLength(crypt, 256)
CkCrypt2::setCkPaddingScheme(crypt, 0)
CkCrypt2::setCkCharset(crypt, "hex")
CkCrypt2::setCkEncodingMode(crypt, "hex")
ivHex.s = "000102030405060708090A0B0C0D0E0F"
CkCrypt2::ckSetEncodedIV(crypt,ivHex,"hex")
keyHex.s = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
CkCrypt2::ckSetEncodedKey(crypt,keyHex,"hex")
encStr.s = CkCrypt2::ckEncryptStringENC(crypt,sHexBinary)
Debug encStr
; Important: This example requires Chilkat v9.5.0.49 or greater to work correctly.
decStr.s = CkCrypt2::ckDecryptStringENC(crypt,encStr)
Debug decStr
CkCrypt2::ckDispose(crypt)
ProcedureReturn
EndProcedure