Rustでパスワード生成ツールを作った話
Rustでランダムパスワードを生成するCLIツールを作りました。
command line parserにclap、ランダムな文字列を生成するためにrandを使用。
https://github.com/n2kia4/rpwg
経緯
clapいい感じだし、Rustで何かCLIツール作ってみよう ⇨ 普段からよくお世話になっているHomebrewでインストールしたpwgen
をRustで書いてみよう、という雑な感じです。
インストール
cargo install
でローカルにインストールすることが出来ます。
$ cargo install rpwg
使い方
使い方は以下の通り。
$ rpwg [FLAGS] [OPTIONS]
rpwg
で実行すると、a-z, A-Z, 0-9, 特殊記号の中からランダムで8文字取り出し、パスワードを生成します。
(a-z, A-Z, 0-9, 特殊記号はそれぞれ少なくとも1文字はパスワードに含まれます)
FLAGS
$ rpwg -0
数字を除く。
$ rpwg -A
アルファベットの大文字を除く。
$ rpwg -S
特殊記号を除く。
OPTIONS
$ rpwg -l <LENGTH>
パスワードの長さを指定。
$ rpwg -q <QUANTITY>
生成する数量を指定。
$ rpwg -n <NUMBER_COUNT>
パスワードに含める数字の文字数を指定します。
$ rpwg -u <UPPER_COUNT>
パスワードに含めるアルファベット大文字の文字数を指定します。
$ rpwg -c <LOWER_COUNT>
パスワードに含めるアルファベット小文字の文字数を指定します。
$ rpwg -s <SYMBOL_COUNT>
パスワードに含める特殊記号の文字数を指定します。
終わりに
初めてRustでCLIツールを作ったのですが、無事にv0.1.0としてcrates.ioに公開出来ました。
必要最低限の機能しか実装出来ていないので、ここから改良重ねていきます。
追記
コマンドが増え次第、説明分を随時追加更新致します。
Versionを上げる際はcargo install rpwg -f
でよろしいかと(現在v0.3.0が最新版)。