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