パスワードを生成するコマンドラインツール
Project description
pip.password-gl 
概要
パスワードを生成するコマンドラインツールです。 セキュリティ要件に応じて、文字種、長さ、除外文字、プレフィックス/サフィックスなどを細かく指定してパスワードを生成できます。また、単語リストに基づいたパスフレーズの生成もサポートしています。 生成結果は標準出力、ファイル、またはクリップボードに出力できます。
インストール
pip install password-gl
依存関係
- Python 3.x
pyperclip(任意): 生成結果をクリップボードにコピーする場合に必要です。pip install pyperclip
pyperclipがインストールされていない場合、--copyオプションは機能しませんが、他の機能は利用可能です。
使い方
password-gl [オプション]
pgl [オプション]
- オプションを指定しない場合、デフォルト設定(長さ12、大文字・小文字・数字・記号を含む)のパスワードが1つ生成されます。
機能
共通オプション
--count <数>: 生成するパスワード/パスフレーズの数を指定します (デフォルト: 1)。--copy: 最後に生成されたパスワード/パスフレーズをクリップボードにコピーします (pyperclipが必要)。--output-format <フォーマット>: 出力フォーマットを指定します (text,json,csv。デフォルト:text)。--output-file <ファイルパス>: 生成結果を指定されたファイルに保存します。--separator <文字>:- パスワード生成時:
--everyと共に使用し、指定文字数ごとに区切り文字を挿入します。 - パスフレーズ生成時: 単語間の区切り文字を指定します (デフォルト:
-)。
- パスワード生成時:
--prefix <文字列>: 生成されるパスワード/パスフレーズの先頭に追加する文字列を指定します。--suffix <文字列>: 生成されるパスワード/パスフレーズの末尾に追加する文字列を指定します。--add-date: 現在の日付 (YYYYMMDD) をプレフィックスとして追加します。--add-user: 現在のログインユーザー名をプレフィックスとして追加します。
パスワード生成オプション (デフォルトモード)
-l <長さ>,--length <長さ>: パスワードの長さを指定します (デフォルト: 12)。--no-upper: 大文字を使用しません。--no-lower: 小文字を使用しません。--no-digits: 数字を使用しません。--no-symbols: 記号 (string.punctuation) を使用しません。--strict: 指定された文字種(大文字、小文字、数字、記号で使用するもの)が必ず最低1つは含まれるようにします。例えば--no-symbolsを指定した場合、大文字、小文字、数字が最低1つずつ含まれます。--no-similar: 類似文字 (O,0,l,1,I,|) を除外します。--exclude-chars <文字>: 指定された文字をパスワード生成から除外します。--starts-with-lower: パスワードが必ず小文字で始まるようにします。--starts-with-upper: パスワードが必ず大文字で始まるようにします。--readable: 読みやすいように、英数字 (a-zA-Z0-9) のみを使用します。--charset <文字セット>: パスワード生成に使用する文字を直接指定します。このオプションを使用すると、--no-upperなどの文字種指定オプションは無視されます。--every <数>:--separatorと共に使用し、指定された文字数ごとに区切り文字を挿入します。
パスフレーズ生成オプション
--passphrase: パスフレーズ生成モードを有効にします。--words <単語数>: パスフレーズに使用する単語の数を指定します (デフォルト: 4)。--wordlist <ファイルパス>: パスフレーズ生成に使用する単語リストファイルのパスを指定します。指定しない場合は、スクリプト内のデフォルトリストまたはwords.txt(スクリプトと同じディレクトリにある場合) を使用します。--separator <文字>: 単語間の区切り文字を指定します (デフォルト:-)。
使用例
例1: デフォルトのパスワードを生成
password-gl
出力例: aB1@cD2#eF3$
例2: 長さ16で記号を含まないパスワードを3つ生成
password-gl -l 16 --no-symbols --count 3
出力例:
AbCdEfGhIjKlMnOp
QrStUvWxYz123456
789aBcDeFgHiJkLm
例3: 厳密モードで、大文字で始まり、類似文字を除外したパスワードを生成
password-gl --strict --starts-with-upper --no-similar
出力例: PqRsTuVwXyZ2@3
例4: 5単語のパスフレーズを生成し、クリップボードにコピー
password-gl --passphrase --words 5 --copy
出力例: magic-zebra-island-quest-dream (クリップボードにもコピーされます)
例5: カスタム単語リストを使用してパスフレーズを生成
password-gl --passphrase --wordlist my_custom_words.txt
例6: プレフィックスとサフィックスを追加し、JSON形式でファイルに出力
password-gl --prefix "web-" --suffix "!" -l 10 --count 2 --output-format json --output-file passwords.json
passwords.json の内容例:
[
"web-aB1@cD2#e!",
"web-fG3$hI4%j!"
]
例7: パスワードを4文字ごとにハイフンで区切る
password-gl -l 16 --separator - --every 4
出力例: abcd-EFGH-1234-!@#$
例8: 日付とユーザー名をプレフィックスに追加
password-gl --add-date --add-user -l 8
出力例: 20231027yourusername-aB1@cD2 (実行日とユーザー名により異なります)
エラーハンドリング
指定された条件(例: 長さが短すぎる、使用可能な文字がないなど)によっては、パスワード/パスフレーズを生成できない場合があります。その場合はエラーメッセージが表示されます。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file password_gl-1.0.2.tar.gz.
File metadata
- Download URL: password_gl-1.0.2.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7038d49e132c9a6c553d07aef72976360d5cfea3e60c37d820752736c755aac3
|
|
| MD5 |
825dffa20d1890c3b8e5d0fe527a7d54
|
|
| BLAKE2b-256 |
e03416349ff85d55462b5b5b0f203644013759e11f2d9ba7630bbee5dce7bf88
|
File details
Details for the file password_gl-1.0.2-py3-none-any.whl.
File metadata
- Download URL: password_gl-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b1ec6958723b55852d23d45f9d98354f23bd88e4a4e4d7d42205ecb018e8d6d
|
|
| MD5 |
18d5f1bfa3c99ed94bbb5c0e66fc8d6b
|
|
| BLAKE2b-256 |
ff8274c4061e7585564a742dfdf974793bd4d70db859b58c0f69fbfb96264690
|