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.1.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.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file password_gl-1.0.1.tar.gz.

File metadata

  • Download URL: password_gl-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 e2070b67d7211bfa1eae32651ddd45060ca685a859af8feba8b5809267e383cc
MD5 7696b2c4620dc84590366b9303a4db6c
BLAKE2b-256 c6e027eb8b5c5b8f8ecb0cec218c7fa2bb30c5decd1ab7549a4c6c6f68cffaff

See more details on using hashes here.

File details

Details for the file password_gl-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: password_gl-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b851fc26b9f284453c36478b88eb966005256c5fa5f74467850d1874384dc00
MD5 e85d27f5f9beca4df4c5829f79906576
BLAKE2b-256 879f31c2941950ff01863775e53a58794035facba8faa76e0681deee392d4c6e

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