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)
- スマート入力: テキストエリアにCSV/スプレッドシートのコピペでOK
- TAB / カンマ区切りを自動検出
- ヘッダー行(姓, 名, email, ID 等)を自動認識
- 3列以上のデータはカラムマッピングUIで列割当を選択
- ファイル読込: CSV/TSVファイルのドラッグ&ドロップまたはファイル選択
- 手入力: 1人分の名前+IDを手入力して追加
ポリシープリセットから準拠基準を選択:
| プリセット | 最低文字数 | 必須文字種 | 平均生成長 |
|---|---|---|---|
| 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()による暗号学的に安全な乱数
印刷 / 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)
- https://mhit.github.io/Passgen/ にアクセス
- STEP 1: ユーザーデータをペースト or 手入力
- STEP 2: ポリシーを選択して「生成」
- STEP 3: 通知書設定を入力して印刷 or CSV出力
オフライン
- リポジトリをダウンロードまたは
git clone 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)を利用しています。