vintage_net v0.6.2 VintageNet.WiFi.WPA2 View Source
WPA2 preshared key calculations
WPA2 doesn't use passphrases directly, but instead hashes them with the SSID and uses the result for the network key. The algorithm that runs the hash takes some time so it's useful to compute the PSK from the passphrase once rather than specifying it each time.
Link to this section Summary
Functions
Convert a WiFi WPA2 passphrase into a PSK
Validate the length and characters of a passphrase
Link to this section Types
invalid_passphrase_error()
View Sourceinvalid_passphrase_error() :: :password_too_short | :password_too_long | :invalid_characters
A WPA2 preshared key
Link to this section Functions
to_psk(ssid, psk)
View Sourceto_psk(String.t(), psk() | String.t()) :: {:ok, psk()} | {:error, :ssid_too_long | invalid_passphrase_error()}
Convert a WiFi WPA2 passphrase into a PSK
If a passphrase looks like a PSK, then it's assumed that it already is a PSK and is passed through.
See IEEE Std 802.11i-2004 Appendix H.4 for the algorithm.
validate_passphrase(password)
View Sourcevalidate_passphrase(String.t()) :: :ok | {:error, invalid_passphrase_error()}
Validate the length and characters of a passphrase
A valid passphrase is between 8 and 63 characters long, and only contains ASCII characters (values between 32 and 126, inclusive).