Chilkat2-Python
Chilkat2-Python
PBES2 Password-Based Encryption
See more Encryption Examples
Demonstrates PBES2 encryptionChilkat Chilkat2-Python Downloads
import chilkat2
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
crypt = chilkat2.Crypt2()
# Set properties for PBES2 encryption:
# When the encryption algorithm is set to "pbes2",
# Chilkat will automatically derive the actual secret key using PBKDF2 and
# the specified paramters: password, salt, iteration count, hash function, and desired key length.
crypt.CryptAlgorithm = "pbes2"
crypt.PbesPassword = "mySecretPassword"
# Set the underlying PBE algorithm (and key length):
crypt.PbesAlgorithm = "aes"
crypt.KeyLength = 256
crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex")
# Give it some salt:
crypt.SetEncodedSalt("0102030405060708","hex")
# A higher iteration count makes the algorithm more
# computationally expensive and therefore exhaustive
# searches (for breaking the encryption) is more difficult:
crypt.IterationCount = 1024
# A hash algorithm needs to be set for PBES2:
crypt.HashAlgorithm = "sha256"
# Indicate that the encrypted bytes should be returned
# as a hex string:
crypt.EncodingMode = "hex"
plainText = "To be encrypted."
encryptedText = crypt.EncryptStringENC(plainText)
print(encryptedText)
# Now decrypt:
decryptedText = crypt.DecryptStringENC(encryptedText)
print(decryptedText)