|
2 months ago | |
---|---|---|
.github | 5 months ago | |
lib | 3 months ago | |
.gitignore | 8 months ago | |
.gitpod.yml | 1 year ago | |
.goreleaser.yml | 2 months ago | |
CODE_OF_CONDUCT.md | 1 year ago | |
Dockerfile | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 2 months ago | |
gon.hcl | 2 months ago | |
main.go | 11 months ago |
genpw is a command-line tool that generates strings of random characters that can be used as reasonably secure passwords.
Passwords are, by default, chosen from the union of three character classes: upper-case letters, lower-case letters, and digits.
(Versions prior to 3.0.0 did not use 0, O, I, l, or 1. This was to avoid confusion when passwords are displayed in sans-serif fonts. I no longer consider this important, so versions 3.0.0 and greater use all letters and digits.)
Options can be given to omit any one or any two of these character
classes. For instance, you can omit uppercase letters and digits by
passing -upper=false -digit=false
to genpw
. This will return a
password composed only of lowercase letters.
Passwords are guaranteed to contain at least one of each selected character class. The default length is 16. genpw will create a password of any length greater than or equal to the number of character classes selected.
If the password length is less than or equal to the total number of characters selected, genpw will not repeat characters within the generated password.
I use this repository to experiment with goreleaser, so there are a ridiculous number of builds and packages available for such a trivial app. Don't judge.
brew install markcornick/tap/genpw
scoop bucket add markcornick https://github.com/markcornick/scoop-bucket.git
scoop install genpw
snap install genpw
docker run --rm markcornick/genpw
Here. Checksums from that
page are signed with my GPG key.
The genpw-notarized.dmg
and genpw-notarized.zip
files contain
codesigned and notarized macOS binaries, which you'll need for Catalina.
go get
go get github.com/markcornick/genpw
$ genpw -help
Usage of genpw:
-digit
Include digits (default true)
-length int
Length to generate (default 16)
-lower
Include lowercase letters (default true)
-upper
Include uppercase letters (default true)
$ genpw
h6ECtbDZPnRddHV7
$ genpw -length=8
XdWod8f8
$ genpw -length=64
QhESpeyPDidxV9kFNCrJqeMa4XUYbET4B3s5oGA8kYsV6XwDKHrCL7wojGZm9gj5
$ genpw -length=0
2017/10/31 16:04:47 Invalid length - must be an integer greater than 2
$ genpw -lower=false
387HNFDEUW4YGMZA
$ genpw -upper=false -length=8
hcsym6tj
$ genpw -lower=false -upper=false -length=32
92992759356835354563826487673794
$ genpw -lower=false -upper=false -digit=false
2019/08/17 04:29:15 Must include at least one of -lower, -upper and/or -digit
exit status 1
For compatibility with earlier versions of genpw
, the length can also
be specified as an integer following any flags. A length specified in
this manner will override the -length
flag.
$ genpw 64
gXBd8yVV3QRL9yDxheEiadMSqK4w5CJjF6UAc8JZpkxgaAznDRerTSX2pKnEmhUW
$ genpw -upper=false 8
75vuwbad
$ genpw -lower=false -upper=false 32
92992759356835354563826487673794
Bug reports and pull requests are welcome on GitHub at https://github.com/markcornick/genpw.
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
genpw is available as open source under the terms of the MIT License.