Skip to content
/ parpg Public

Paranoid Password Generator. Minimalistic Python script to generate passwords, that uses generated RSA as dictionary instead of regular ascii_letters.

License

Notifications You must be signed in to change notification settings

korn3r/parpg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

parpg

Paranoid Password Generator.

TLDR: Minimalistic Python script to generate passwords, that uses generated RSA as dictionary instead of regular ascii_letters.

Longer version: In theory, having some insight on environment in which random-generating software was executed, one can predict (or reverse-engineer if you would like) what was generated with that generation.

As a little excercise of getting myself familiar with Python i wrote this script. Script generates RSA, trims it a bit and uses given text as a dictionary for picking random letters for password.

To not make it excessivly long description i will put main features here:

  • Script doesnt use any dependencies, only imports standart python features.
  • Symbols do not repeat themselves in generated password (if number of letters is less than 42 (not total length of password!), number of special symbols is less than 29 and number of numbers is less than 10 (obviously because there is not much digits))
  • Here and there random sleep used to make it even less predictable. I used microseconds, so it wont be noticable unless you will try to generate some password with 1000+ length.
  • Default parameters are: length - 15, numbers to put in password - 3, special symbols to put -3.
  • Default parameters could be overriden by using switches when executing script or just simply by edititng script yourself.
  • !!! By default script do not use symbols "!", "@" and "$" for generation. I decided that those are too common.. you can override this behavior by adding switch "-nor".

Command line options:

-h, --help show help message and exit

-l LENGTH INT. Length of password (default: 15, minimum: 7). OPTIONAL. Value less than 7 converted to 7

-n NUMBERS INT. How many digits should be in password (default: 3). OPTIONAL. Value less than 0 converted to 0

-s SPECIAL INT. How many special symbols should be in password (default: 3). OPTIONAL. Value less than 0 converted to 0

-nor Switch to include symbols "!","@","$" in special symbol dictionary (by default they are not used). OPTIONAL

Tested only with Python3, so probably doesnt work with python2 (im to lazy to test)

PS: i hope i chose license right.... anyway anyone can do with this little piece of code whatever he wishes, apart from saying that you wrote it yourself. there is a chance you might go to hell if you do so...

About

Paranoid Password Generator. Minimalistic Python script to generate passwords, that uses generated RSA as dictionary instead of regular ascii_letters.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages