Perl
Perl
PBES2 Password-Based Encryption
See more Encryption Examples
Demonstrates PBES2 encryptionChilkat Perl Downloads
use chilkat();
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$crypt = chilkat::CkCrypt2->new();
# 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->put_CryptAlgorithm("pbes2");
$crypt->put_PbesPassword("mySecretPassword");
# Set the underlying PBE algorithm (and key length):
$crypt->put_PbesAlgorithm("aes");
$crypt->put_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->put_IterationCount(1024);
# A hash algorithm needs to be set for PBES2:
$crypt->put_HashAlgorithm("sha256");
# Indicate that the encrypted bytes should be returned
# as a hex string:
$crypt->put_EncodingMode("hex");
$plainText = "To be encrypted.";
$encryptedText = $crypt->encryptStringENC($plainText);
print $encryptedText . "\r\n";
# Now decrypt:
$decryptedText = $crypt->decryptStringENC($encryptedText);
print $decryptedText . "\r\n";