Python LibreAuth
================
Python bindings to the LibreAuth library.
LibreAuth is a collection of tools for user authentication written in Rust.
Features
--------
This is a work in progress. Some features may not be available.
* Password / passphrase authentication
- ✓ no character-set limitation
- ✓ reasonable lenth limit (`security vs. DOS `_)
- ✓ strong, evolutive and retro-compatible password hashing functions
- ✓ optional NIST Special Publication 800-63B compatibility
* HOTP - HMAC-based One-time Password Algorithm (`OATH `_ - `RFC 4226 `_)
- ✗ the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
- ✗ customizable counter
- ✗ customizable hash function (sha1, sha256, sha512)
- ✗ customizable output length
- ✗ customizable output alphabet
* TOTP - Time-based One-time Password Algorithm (`OATH `_ - `RFC 6238 `_)
- ✗ the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
- ✗ customizable timestamp
- ✗ customizable period
- ✗ customizable initial time (T0)
- ✗ customizable hash function (sha1, sha256, sha512)
- ✗ customizable output length
- ✗ customizable output alphabet
- ✗ customizable positive and negative period tolerance
Requirements
------------
LibreAuth 0.6 or higher.