← 一覧
@lapius/password-glpassword-glpgl
GitHubnpm

password-gl PyPI version PyPI Downloads License: MIT

セキュアなパスワード / パスフレーズを1コマンドで生成する CLI ツール。


インストール

npm(推奨)

npm i -g @lapius/password-gl

password-gl と短縮名 pgl の 2 つのコマンドが使えるようになります(Node.js 18 以降と Python 3.9 以降が必要。Python はシステムのものをそのまま使います)。 更新も同じコマンドで行えます。npm で入れた場合は pgl -u も npm 経由で更新します。

pip

pip install password-gl

更新は pip install --upgrade password-gl または pgl -u です。

クリップボードコピー(任意)

--copy を使う場合は、どちらの入れ方でも pyperclip を追加で入れてください:

pip install pyperclip

クイックスタート

pgl                        # info 画面
pgl -l 20 --strict         # 20文字・全種類必須
pgl --pin 6                # 6桁PIN
pgl --passphrase --words 5 # 5単語パスフレーズ
pgl --count 5 --copy       # 5個生成して最後をコピー
pgl -i                     # 対話モード(全設定をガイド付きで)

出力例

  🔑  K7#mPx@2qR!v
       強度  ████████░░  強い  72 bit

  🔑  1.  aB3$nQ9@wZ!r
       強度  ████████░░  強い  72 bit

  🔑  2.  mX4#pK7!vN2@
       強度  ████████░░  強い  72 bit

オプション一覧

モード

オプション説明デフォルト
-i, --interactive対話モード(全設定をガイド付きで設定)—
--pin <n>数字のみの PIN を生成4
--passphrase単語リストからパスフレーズを生成—

パスワード設定

オプション説明デフォルト
-l, --length <n>文字数12
--count <n>生成する数1
--strict全種類(大文字・小文字・数字・記号)を必ず含める—
--no-upper大文字を使わない—
--no-lower小文字を使わない—
--no-digits数字を使わない—
--no-symbols記号を使わない—
--no-similar類似文字を除外 (O 0 l 1 I |)—
--exclude-chars <s>指定した文字を除外—
--charset <s>使用文字を直接指定(他の文字種フラグより優先)—
--starts-with <v>先頭文字の制約 (lower / upper)—
--prefix <s>先頭に追加する文字列—
--suffix <s>末尾に追加する文字列—
--separator <s>区切り文字—
--every <n>N 文字ごとに区切り文字を挿入(--separator と組み合わせて使用)—

パスフレーズ設定

オプション説明デフォルト
--words <n>単語数4
--wordlist <path>単語リストファイルのパス内蔵リスト
--separator <s>単語の区切り文字-

出力設定

オプション説明
--copy最後の生成結果をクリップボードにコピー
--output-file <path>ファイルに保存
--output-format <fmt>出力形式 (text / json / csv)
--add-date日付 (YYYYMMDD) をプレフィックスに追加
--add-userユーザー名をプレフィックスに追加

プロファイル

よく使う設定を名前付きで保存・呼び出しできます。

pgl -l 20 --strict --no-similar --save-profile work   # 保存
pgl --profile work                                     # 呼び出し
pgl --list-profiles                                    # 一覧

プロファイルは ~/.pgl/profiles.json に保存されます。

その他

オプション説明
-u, --update最新バージョンに更新(npm で入れた場合は npm、pip の場合は pip で更新)
--lang <ja|en>表示言語(環境変数 PGL_LANG でも設定可)
-v, --versionバージョンを表示
-h, --helpヘルプを表示

使用例

# 16文字・記号なし・全種類必須を3つ生成
pgl -l 16 --no-symbols --strict --count 3

# 4文字ごとにハイフンで区切る
pgl -l 16 --separator - --every 4
# → abcd-EFGH-1234-!@#$

# 日付+ユーザー名をプレフィックスに
pgl --add-date --add-user -l 8

# 5単語パスフレーズをクリップボードにコピー
pgl --passphrase --words 5 --copy

# JSON形式でファイルに保存
pgl --count 10 --output-format json --output-file passwords.json

# プロファイルに保存して再利用
pgl -l 24 --strict --no-similar --save-profile strong
pgl --profile strong --count 3

開発者

Lapius7 — https://dev.lapius7.com

ライセンス

MIT