Sample code for 30+ languages & platforms
Ruby

PBKDF2 Key Derivation

Demonstrates AES secret key derivation from a password using PBDKF2.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

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

crypt = Chilkat::CkCrypt2.new()

password = "correcthorsebatterystaple"

# Derive from the utf-8 byte representation of the password.
charset = "utf-8"

hashAlg = "sha256"

crypt.put_EncodingMode("hex")
saltHex = crypt.genRandomBytesENC(16)

iterationCount = 310000

# Derive a 256-bit key from the password.
outputBitLen = 256

# The derived key is returned as a hex or base64 encoded string.
# (Note: The salt argument must be a string that also uses
# the same encoding.)
enc = "hex"

hexKey = crypt.pbkdf2(password,charset,hashAlg,saltHex,iterationCount,outputBitLen,enc)

print hexKey + "\n";

# Sample output:
# 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768