smartauthen v1.0.0

Smart, simple, lightweight, secure cross-platform authentication for any application

Passwordless authentication using secret phrases and public keys.

Python Authentication Passwordless Cross-Platform PyPI 100% Coverage

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 Complexitystep attribute 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

MethodDescriptionParameters
make_keyGenerate public key from login + secret phraselogin, secret
checkVerify login + secret phrase against public keylogin, 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