Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoCrypt
    String sWpaHexKey
    String sPw
    String sPwCharset
    String sHashAlg
    String sSsidHex
    Integer iIterationCount
    Integer iOutputBitLen
    String sEnc

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

    Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
    If (Not(IsComObjectCreated(hoCrypt))) Begin
        Send CreateComObject of hoCrypt
    End

    // The "ps" is the WPA passphrase
    Move "password" To sPw
    Move "ansi" To sPwCharset

    // Hash algorithms may be: sha1, md2, md5, etc.
    Move "sha1" To sHashAlg

    // Specify the SSID in hex:
    // For example, if the SSID is "ABC", then the 
    // hex values for these us-ascii chars is "414243"
    Move "414243" To sSsidHex

    // The WPA key calculation will always use 4096 iterations.
    Move 4096 To iIterationCount

    // The WPA hex output should be 256 bits.
    Move 256 To iOutputBitLen

    // Indicate that "hex" is to be returned.
    Move "hex" To sEnc

    Get ComPbkdf2 Of hoCrypt sPw sPwCharset sHashAlg sSsidHex iIterationCount iOutputBitLen sEnc To sWpaHexKey

    Showln sWpaHexKey


End_Procedure