smartpassgen
Help the project financially:
- Donate: https://smartlegion.github.io/donate/
- Yandex Money: https://yoomoney.ru/to/4100115206129186
- PayPal: https://paypal.me/smartlegioner
- LiberaPay: https://liberapay.com/smartlegion/donate
- Visa: 4048 0250 0089 5923
Short Description:
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 generate
login = 'login'
secret = 'secret'
length = 15
# Passwords generator
pass_gen = PasswordsGenerator()
# Passwords will always be different
def_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_password2
assert smart_password == smart_password2
Test coverage:
Coverage 100% !!!
Links:
- Github: https://github.com/smartlegion/
- Url: https://smartlegion.github.io/
- PyPi: https://pypi.org/user/smartlegion/
- Donate: https://smartlegion.github.io/donate/
Disclaimer of liability:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Information:
Licensed under the terms of the BSD 3-Clause License
==========================================================
Copyright (c) 2018-2021, A.A Suvorov; All rights reserved.
==========================================================