Skip to content

mhit/Passgen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Passgen - 日本語読みパスワード生成器

https://mhit.github.io/Passgen/

ブラウザで開くだけで使えます。インストール不要。

読める・覚えられる・安全なパスワードを生成するサーバレス静的Webツール。

日本語の単語や音節をローマ字で組み合わせ、特殊文字・数字を挿入して読み方がわかるパスワードを生成します。電話口やメモでの口頭伝達が容易で、IT管理者のアカウント初期設定業務に適しています。

生成例

パスワード 読み方
!YanagiTen3 ヤナギ-テン / yanagi-ten
Ikada3*Same イカダ-サメ / ikada-same
@RisuNervu0 リス-ネルヴ / risu-nervu
Botan9!Kousei ボタン-コウセイ / botan-kousei
#YomuPovege8 ヨム-ポヴェゲ / yomu-povege

ワークフロー

3ステップの直線的なフロー。モード切替なし。

STEP 1: ユーザーデータ    →    STEP 2: パスワード生成    →    STEP 3: 出力
(スマート入力)                  (ポリシー準拠)                  (印刷 / CSV)

STEP 1: ユーザーデータ入力

  • スマート入力: テキストエリアにCSV/スプレッドシートのコピペでOK
    • TAB / カンマ区切りを自動検出
    • ヘッダー行(姓, 名, email, ID 等)を自動認識
    • 3列以上のデータはカラムマッピングUIで列割当を選択
  • ファイル読込: CSV/TSVファイルのドラッグ&ドロップまたはファイル選択
  • 手入力: 1人分の名前+IDを手入力して追加

STEP 2: パスワード生成

ポリシープリセットから準拠基準を選択:

プリセット 最低文字数 必須文字種 平均生成長
Google Workspace 8 なし 10文字
Microsoft 365 / Entra ID 8 大小数 (3種) 10文字
Apple ID 8 大小数 10文字
Active Directory 既定 7 大小数記 (4種) 10文字
IPA推奨 2024 10 大小数記 (4種) 12文字
NIST SP800-63B 8 なし 11文字
PCI DSS v4.0 12 大小数記 (4種) 15文字
カスタム 自由設定 個別選択 -

全プリセットで100%ポリシー準拠を保証(リトライ機構による検証済み)。

生成エンジン: ハイブリッド方式

  • 辞書モード (50%): 766語の一般語彙(自然・動物・食物・道具・概念・技術・文化)
  • 音節合成モード (50%): 101音節テーブル(五十音+濁音+拗音+外来音)からランダム結合
  • CSPRNG: crypto.getRandomValues() による暗号学的に安全な乱数

STEP 3: 出力

印刷 / PDF(ドロップダウンメニュー)

  • アカウント通知書: ユーザーごとにA4 1ページの通知書(組織名・システム名・ID・URL・PW・読み方・受領署名欄)
  • パスワード一覧: 全ユーザーのテーブル一覧
  • 印刷済み/未印刷のステータス管理、未印刷のみ選択して再印刷可能

CSV出力(ドロップダウンメニュー)

形式 用途
汎用CSV 名前・ID・PW・読み方
Google Workspace 新規/更新/削除 Admin Console 一括操作用
Microsoft 365 新規/更新 Entra ID 一括ユーザー作成用 (version:v1.0 ヘッダー付き)
Apple Business Manager 手動作成/IdP連携準備用リファレンス

セッション管理

  • 生成結果を自動保存(localStorage、最大20セッション)
  • 過去のセッションをワンクリックで復元(PW・印刷状態を含む)
  • JSONエクスポート/インポートで別PCへの持ち出しやバックアップ

使い方

オンライン(GitHub Pages)

  1. https://mhit.github.io/Passgen/ にアクセス
  2. STEP 1: ユーザーデータをペースト or 手入力
  3. STEP 2: ポリシーを選択して「生成」
  4. STEP 3: 通知書設定を入力して印刷 or CSV出力

オフライン

  1. リポジトリをダウンロードまたは git clone
  2. index.html をブラウザで開く(サーバー不要)

ファイル構成

Passgen/
├── index.html   ... UI + 生成エンジン + 印刷テンプレート
├── dict.js      ... 辞書データ (766語)
├── test.js      ... テストスイート (node test.js)
├── DESIGN.md    ... UI設計書
└── README.md

技術仕様

項目 仕様
実行環境 静的HTML + JavaScript(サーバー不要)
ホスティング GitHub Pages(mainブランチ push 時に自動デプロイ)
乱数生成 crypto.getRandomValues() (CSPRNG)
フォント BIZ UDGothic + Noto Sans JP (Google Fonts)
辞書 766語(一般語彙65% + 短縮名35%)+ 101音節テーブルによる動的生成
印刷 window.print() ベース(ブラウザの「PDFに保存」でPDF出力)
永続化 localStorage(フォーム値・設定・セッション履歴を自動保存)
エントロピー ~37bit (辞書+音節合成の複合空間、保守的計算)
テスト 3,055アサーション、全ポリシー100%準拠を検証済み

テスト実行

node test.js

辞書整合性、音節合成、CSPRNG分布、全ポリシー準拠率、パターン多様性、ユニーク性等を検証。

辞書ソース

  • 一般語彙: 自然・天候・動物・食物・植物・道具・概念・科学・色・動詞・場所・文化・造語
  • 名前データの一部: gimei(MIT License)
  • 音節テーブル: 五十音(45) + 濁音(18) + 半濁音(5) + 拗音(21) + 外来音(12) = 101音節

ライセンス

辞書データの一部は gimei(MIT License)を利用しています。

About

日本語読みパスワード生成器 - 読める・覚えられる・安全なパスワード

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors