smartauthen
Smart, simple, lightweight, secure cross-platform authentication for any application
Passwordless authentication using secret phrases and public keys.
smartauthen - Smart, simple, lightweight, secure cross-platform authentication for any application.
Supported platforms: Linux (all), Windows 7/8/10/11, Termux (Android).
Avoid passwords when registering and authenticating in your applications. Use easy-to-remember secret phrases instead of passwords.
⚠️ The public key for the login + secret phrase pair will always be the same. With any change in the login or secret phrase, the key will change.
- Passwordless Authentication - no passwords needed
- Secret Phrase - easy to remember, hard to guess
- Public Key Generation - linked to login + secret phrase
- Secure Verification - compare generated key with stored public key
- Cross-Platform - Linux, Windows, Termux
- Lightweight - minimal dependencies
- 100% Test Coverage - fully tested
- Store Only Login + Public Key - no secret phrases in database
- Database Compromise Safe - attacker cannot gain access to user accounts
- No Rainbow Tables - secret phrases are not in any rainbow table
- Regulation of Complexity -
stepattribute controls key generation - Deterministic Keys - same login + secret = same public key
pip install smartauthen
from smartauthen import SmartAuth smart_auth = SmartAuth() login = 'login' secret = 'secret' key = smart_auth.make_key(login, secret) # True since the login + secret phrase is correct print(smart_auth.check(login, secret, key)) # True secret = 'secret2' # False because the secret phrase is incorrect print(smart_auth.check(login=login, secret=secret, key=key)) # False
| Method | Description | Parameters |
|---|---|---|
make_key | Generate public key from login + secret phrase | login, secret |
check | Verify login + secret phrase against public key | login, secret, key |
Note: step attribute in SmartAuth object regulates key generation complexity. Higher value = more secure key.
100% test coverage - All components thoroughly tested.
Run tests:
pip install pytest pytest -v
Coverage report:
pip install pytest-cov pytest --cov --cov-report=html
By using this software, you agree to the full disclaimer terms.
Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
License: BSD 3-Clause License