Python bindings to the LibreAuth library. https://pypi.org/project/libreauth/
This repository has been archived on 2023-09-20. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Rodolphe Breard d32160a4c2 first commit
2017-11-26 21:39:20 +01:00
.gitignore first commit 2017-11-26 21:39:20 +01:00
CHANGELOG.md first commit 2017-11-26 21:39:20 +01:00
CONTRIBUTING.md first commit 2017-11-26 21:39:20 +01:00
LICENSE-EN.txt first commit 2017-11-26 21:39:20 +01:00
LICENSE-FR.txt first commit 2017-11-26 21:39:20 +01:00
README.md first commit 2017-11-26 21:39:20 +01:00

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
  • U2F - Universal 2nd Factor (FIDO Alliance) ⚠️ Not started
    • virtual device API
    • client API
    • server API