firemelon — Simple Password Generator
Project description
firemelon - a simple password generator
Why?
Passwords don't have to be something like GY/hyTJmw#B$E3,x
.
Simple combinations like sure,happy,95194,sad
or 2874;people;only;penguin
are also pretty strong (see below).
But those are also easy to remember (and you can even turn it into some drawing to remember while still keeping it a secret)
This module is doing exactly that - creating passwords using random words and, sometimes, numbers.
Is it really strong?
- It is pretty diverse:
- With default settings (
complexity=4, sep=random
) you get5513210562816000
different passwords - With one specific separator (or no separator at all) you get
945337888000
different passwords - significantly less, still many. - With one specific separator (or no separator at all) and
complexity=3
you get231852000
different passwords - still many.
- With default settings (
- You definitely should use 2FA for important accounts, no matter how strong is your password.
- Decent services should have a cooldown for too many wrong password attempts
- Most passwords are stolen (e.g. with phishing), not brute-forced, those have nothing to do with password strength
- Use different passwords for different accounts (or at least don't use the same password everywhere), of course
Installation
As simple as python -m pip install firemelon
Basic usage
from firemelon import passgen
# complexity=4, sep=random, use_number=True
print(passgen()) # "hot_legal:498;goose"
Into the deep
If you want to change generation options, pass complexity
and sep
params:
from firemelon import passgen
print(passgen(complexity=2, sep=":", use_number=False)) # "idea:night"
Complexity just sets how much parts the result will have, and sep is a separator between parts.
If you won't pass sep
, every separator would be chosen at random.
If you will pass a list of separators as sep
, every separator would be chosen at random from your list.
use_number
is pretty straightforward.
Generator
If you want to go even further and construct a password yourself, you'll need a Generator
:
from firemelon import Generator as gen
password = "".join([gen.adjective(), " ", gen.noun(), gen.sep(), gen.number(3)]) # "pure fish,268"
print(password)
.variance
Generator has a variance
method with exactly the same signature as generate
, but which returns a number of variations for specific arguments.
from firemelon import Generator
gen = Generator()
print(gen.variance()) # 5513210562816000
Contributing
Why? It's finished.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file firemelon-1.1.4.tar.gz
.
File metadata
- Download URL: firemelon-1.1.4.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7725b550539c64e50c573be3077825b5bd10b4f194657cbc8049df6ea973d3a1 |
|
MD5 | 2d1d468eaaaa9e21cee81fc139cd608a |
|
BLAKE2b-256 | 8691d643a693bed0243b0ba9c100eea0fa1a57f2e2867fb26abf00b226e71525 |