Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 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.
set secStr1 [new_CkSecureString]

set success [CkSecureString_LoadFile $secStr1 "qa_data/txt/helloWorld.txt" "utf-8"]
if {$success != 1} then {
    puts "Failed to load helloWorld.txt"
    delete_CkSecureString $secStr1
    exit
}

set crypt [new_CkCrypt2]

CkCrypt2_put_CryptAlgorithm $crypt "aes"
CkCrypt2_put_CipherMode $crypt "cbc"
CkCrypt2_put_KeyLength $crypt 128
CkCrypt2_SetEncodedKey $crypt "000102030405060708090A0B0C0D0E0F" "hex"
CkCrypt2_SetEncodedIV $crypt "000102030405060708090A0B0C0D0E0F" "hex"
CkCrypt2_put_EncodingMode $crypt "base64"

# Return the base64 encoded encrypted contents of secStr1.
set encryptedStr [CkCrypt2_encryptSecureENC $crypt $secStr1]
puts "Encrypted string: $encryptedStr"

# Output:
# Encrypted string: qiq+IFhcjTkEIkZyf31V/g==

# Decrypt to secStr2:
set secStr2 [new_CkSecureString]

CkCrypt2_DecryptSecureENC $crypt $encryptedStr $secStr2

# Access the contents of secStr2
puts "Decrypted string: [CkSecureString_access $secStr2]"

# Output:
# Decrypted string: Hello World!

delete_CkSecureString $secStr1
delete_CkCrypt2 $crypt
delete_CkSecureString $secStr2