Skip to main content

パスワードを生成するコマンドラインツール

Project description

pip.password-gl PyPI Downloads

概要

パスワードを生成するコマンドラインツールです。 セキュリティ要件に応じて、文字種、長さ、除外文字、プレフィックス/サフィックスなどを細かく指定してパスワードを生成できます。また、単語リストに基づいたパスフレーズの生成もサポートしています。 生成結果は標準出力、ファイル、またはクリップボードに出力できます。

インストール

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

password_gl-1.0.2.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

password_gl-1.0.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

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

Hashes for password_gl-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7038d49e132c9a6c553d07aef72976360d5cfea3e60c37d820752736c755aac3
MD5 825dffa20d1890c3b8e5d0fe527a7d54
BLAKE2b-256 e03416349ff85d55462b5b5b0f203644013759e11f2d9ba7630bbee5dce7bf88

See more details on using hashes here.

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

Hashes for password_gl-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1b1ec6958723b55852d23d45f9d98354f23bd88e4a4e4d7d42205ecb018e8d6d
MD5 18d5f1bfa3c99ed94bbb5c0e66fc8d6b
BLAKE2b-256 ff8274c4061e7585564a742dfdf974793bd4d70db859b58c0f69fbfb96264690

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page