Sample code for 30+ languages & platforms
Perl

PBES2 Password-Based Encryption

See more Encryption Examples

Demonstrates PBES2 encryption

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

my $crypt = Chilkat2::Crypt2->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->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');

my $plainText = 'To be encrypted.';

my $encryptedText = $crypt->EncryptStringENC($plainText);

print $encryptedText, "\n";

# Now decrypt:
my $decryptedText = $crypt->DecryptStringENC($encryptedText);

print $decryptedText, "\n";