Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

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

    crypt.i = CkCrypt2::ckCreate()
    If crypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    wpaHexKey.s

    ; The "ps" is the WPA passphrase
    pw.s = "password"
    pwCharset.s = "ansi"

    ; Hash algorithms may be: sha1, md2, md5, etc.
    hashAlg.s = "sha1"

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

    ; The WPA key calculation will always use 4096 iterations.
    iterationCount.i = 4096

    ; The WPA hex output should be 256 bits.
    outputBitLen.i = 256

    ; Indicate that "hex" is to be returned.
    enc.s = "hex"

    wpaHexKey = CkCrypt2::ckPbkdf2(crypt,pw,pwCharset,hashAlg,ssidHex,iterationCount,outputBitLen,enc)

    Debug wpaHexKey


    CkCrypt2::ckDispose(crypt)


    ProcedureReturn
EndProcedure