pwm
pwm very simply generates reasonably secure passwords. That's it; that's all it does.
Passwords are chosen from the set of all upper-case letters except I and O, all lower-case letters except l, and the digits 2 through 9. 0 and O are not used to avoid confusion with each other. I, l, and 1 are not used for the same reason.
Starting with version 1.1.0, passwords are guaranteed to contain at least one upper-case letter, one lower-case letter, and one number.
We Interrupt This README.md
pwm is a stable, mature piece of code. It's one that I haven't modified significantly in years. Recently, I've become interested in JavaScript and am focusing my attention on a JS rewrite called powm. Unless some kind of serious bug gets found in pwm, I'm unlikely to do any further development on it, or to accept pull requests. Please note that pwm is, and has always been, in the public domain, so if it doesn't do something you want it to do, I not only don't mind if you fork it and make it your own, I urge you to.
In short, I'm closing the book on pwm as far as I'm concerned, but if you want to write the next chapter, fork away and do great things with my compliments.
We now return you to README.md already in progress.
Installation
Add this line to your application's Gemfile:
gem 'pwm'
And then execute:
bundle
Or install it yourself as:
gem install pwm
Usage
require 'pwm'
Pwm.password(length)
The default length is 16. The minimum length is 8. Specifying a length
less than 8 will raise Pwm::TooShortException
.
You can also call pwm from the command line:
$ pwm
h6ECtbDZPnRddHV7
$ echo $?
0
$ pwm 8
XdWod8f8
$ echo $?
0
$ pwm 4
length must be >= 8
$ echo $?
1
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run
rake spec
to run the tests or rake spec
to run the Cucumber features. You
can also run bin/console
for an interactive prompt that will allow you to
experiment.
To install this gem onto your local machine, run bundle exec rake install
. To
release a new version, update the version number in version.rb
, and then run
bundle exec rake release
, which will create a git tag for the version, push
git commits and tags, and push the .gem
file to
rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/markcornick/pwm. 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.
Author
Mark Cornick https://github.com/markcornick
(Lack of) Copyright
To the extent possible under law, Mark Cornick has waived all copyright and related or neighboring rights to pwm.