Sample code for 30+ languages & platforms
PowerShell

PBES2 Password-Based Encryption

See more Encryption Examples

Demonstrates PBES2 encryption

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

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

$crypt = New-Object Chilkat.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)

$($encryptedText)

# Now decrypt:
$decryptedText = $crypt.DecryptStringENC($encryptedText)

$($decryptedText)