PureBasic
PureBasic
Encrypt / Decrypt Secure Strings
See more Encryption Examples
Demonstrates how to use the EncryptSecureENC and DecryptSecureENC methods to encrypt/decrypt secure strings. These methods were added in Chilkat v9.5.0.71 (released January 2018).Chilkat PureBasic Downloads
IncludeFile "CkCrypt2.pb"
IncludeFile "CkSecureString.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
; Load the secure string with some text.
secStr1.i = CkSecureString::ckCreate()
If secStr1.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkSecureString::ckLoadFile(secStr1,"qa_data/txt/helloWorld.txt","utf-8")
If success <> 1
Debug "Failed to load helloWorld.txt"
CkSecureString::ckDispose(secStr1)
ProcedureReturn
EndIf
crypt.i = CkCrypt2::ckCreate()
If crypt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkCrypt2::setCkCryptAlgorithm(crypt, "aes")
CkCrypt2::setCkCipherMode(crypt, "cbc")
CkCrypt2::setCkKeyLength(crypt, 128)
CkCrypt2::ckSetEncodedKey(crypt,"000102030405060708090A0B0C0D0E0F","hex")
CkCrypt2::ckSetEncodedIV(crypt,"000102030405060708090A0B0C0D0E0F","hex")
CkCrypt2::setCkEncodingMode(crypt, "base64")
; Return the base64 encoded encrypted contents of secStr1.
encryptedStr.s = CkCrypt2::ckEncryptSecureENC(crypt,secStr1)
Debug "Encrypted string: " + encryptedStr
; Output:
; Encrypted string: qiq+IFhcjTkEIkZyf31V/g==
; Decrypt to secStr2:
secStr2.i = CkSecureString::ckCreate()
If secStr2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkCrypt2::ckDecryptSecureENC(crypt,encryptedStr,secStr2)
; Access the contents of secStr2
Debug "Decrypted string: " + CkSecureString::ckAccess(secStr2)
; Output:
; Decrypted string: Hello World!
CkSecureString::ckDispose(secStr1)
CkCrypt2::ckDispose(crypt)
CkSecureString::ckDispose(secStr2)
ProcedureReturn
EndProcedure