読者です 読者をやめる 読者になる 読者になる

TimeCapsule💊

やったこと,やること,やってみたいこと

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が最新版)。