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

To the extent possible under law, Mark Cornick has waived all copyright and related or neighboring rights to pwm.