A simple and secure password generator written in Python.
This program generates passwords, set by parameters such as the number of characters, and the numbers of figures, lowercase letters, uppercase letters, and symbols composing the password, or randomize the process (see explanation step by step).
It is fully written in python, using only native libraires (so you don't need to install any third party librairy).
It is terminal only, there isn't a graphic interface.
The process to parameter the password generation is a series of inputs questions (again, see explanation step by step).
It use the secrets module to generate passwords instead of the random module, because it has a strong cryptographically security, and non tracking ability (to make it simple, secrets use entropic sources to generate pseudo random values, which are way more difficult to predict than pseudo random values generated by random, which use a deterministic seed).
Step 1 : Ask if the password should be fully randomized :
- If yes, it will return a long string composed of fully randomly chosen characters (step 6).
- If false, step 2:
Step 2 : Ask the number of characters the password should contain.
Step 3 : Ask the number of passwords that should be generated in one go.
Step 4 : Ask if the password(s) should be randomly generated (taking into account the parameters indicated earlier):
- If true, return the number of passwords specified, with the numbers of characters specified, but the composition of each password is random (step 6).
- If false, step 5 :
Step 5 : For each type of characters (figures, lowercase letters, uppercase letters, symbols), ask the number of them the user want for each password who will be generated.
Step 6 : The password(s) is/are generated.
-
For any bug request, please write on down in the "issues" section.
-
For any new feature request, please write it down in the "discussions" section.
-
For any bug resolution/improvement commit, please write it down in the "pull requests" section.