Sample code for 30+ languages & platforms
Lua

WPA Key Calculation from PassPhrase to Hex

See more Encryption Examples

Demonstrates how to calculate a WPA key from a passprhase and network SSID.

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()

-- The "ps" is the WPA passphrase
local pw = "password"
local pwCharset = "ansi"

-- Hash algorithms may be: sha1, md2, md5, etc.
local hashAlg = "sha1"

-- Specify the SSID in hex:
-- For example, if the SSID is "ABC", then the
-- hex values for these us-ascii chars is "414243"
local ssidHex = "414243"

-- The WPA key calculation will always use 4096 iterations.
local iterationCount = 4096

-- The WPA hex output should be 256 bits.
local outputBitLen = 256

-- Indicate that "hex" is to be returned.
local enc = "hex"

local wpaHexKey = crypt:pbkdf2(pw, pwCharset, hashAlg, ssidHex, iterationCount, outputBitLen, enc)

print(wpaHexKey)