smartpassgen
smartpassgen - A cross-platform package of modules for generating, secure storage and recovery of complex, cryptographic, smart passwords on the fly.
Author and developer: Aleksandr Suvorov (Smart Legion).
Supported:
- Linux: All.
- Windows: 7/8/10.
- Termux (Android).
Requirements:
What's new?:
smartpassgen v0.2.5
- Bugs fixed.
- Enhanced cryptographic strength and security.
- New modules, functions and classes.
- Dropped support for experimental versions 0.1.X +
- Added new characters for password complexity.
Description:
smartpassgen - A cross-platform package of modules for generating, secure storage and recovery of complex, cryptographic, smart passwords on the fly.
With this package, you can create cross-platform generators or managers of complex, cryptographic, smart passwords with a link to a username and secret phrase, and the possibility of recovery.
You can create:
Smart Password generator:
A generator of smart, recoverable passwords, linked to a username and a secret phrase. At the same time, passwords aren't stored anywhere, but are always in the calculated state until the request is made.
Password Generator:
A generator of smart, recoverable passwords, linked to a secret phrase. Generates a complex password with the ability to recover it using a secret phrase. The password isn't stored anywhere, but is always in the calculated state until it is requested.
Default Password Generator:
The usual generator of complex passwords without bindings and the possibility of recovery.
Help:
python3 -m venv venv
source venv/bin/activate
pip3 install smartpassgen
or:
python3 -m venv venv
source venv/bin/activate
python3 setup.py install
For run tests:
pip3 install pytest
pytest -v
For run tests coverage:
pip3 install pytest-cov
pytest --cov --cov-report=html
Use:
from smartpassgen.interfaces import PasswordsGenerator # data to generatelogin = 'login'secret = 'secret'length = 15 # Passwords generatorpass_gen = PasswordsGenerator() # Passwords will always be differentdef_password = pass_gen.get_def_pass() def_password2 = pass_gen.get_def_pass() assert def_password != def_password2 # Passwords will always be the same when using the same passphrase:norm_password = pass_gen.get_norm_pass(secret='secret', length=15) norm_password2 = pass_gen.get_norm_pass(secret='secret', length=15) smart_password = pass_gen.get_smart_pass(login='login', secret='secret') smart_password2 = pass_gen.get_smart_pass(login='login', secret='secret') assert norm_password == norm_password2assert smart_password == smart_password2
Test coverage:
Coverage 100% !!!