Sample code for 30+ languages & platforms
Lua

PBKDF2 - Derive Key from Password

See more Encryption Examples

Demonstrates how to derive a symmetric encryption key from a password using PBKDF2.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local crypt = chilkat.Crypt2.new()

local pw = "password"

local pwCharset = "utf-8"

-- Such as sha256, sha512
local hashAlg = "sha256"

-- 16 bytes
local saltHex = "78578E5A5D63CB0668AB39B21C8637FA"

local iterationCount = 100000

-- Derive a 256-bit key from the password.
local 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.)
local enc = "hex"

local hexKey = crypt:pbkdf2(pw, pwCharset, hashAlg, saltHex, iterationCount, outputBitLen, enc)

print(hexKey)

-- Sample output:
-- AE96E261E32792D0FD6F0E72F8E872D046F7DB4C1FA7C83892EC73C49F461B70