OpsKitPro logo
OpsKitPro_
ブログへ戻る
工具2026-04-225 min

パスワード生成ツール passgen の設計・実装・使い方

安全な乱数、モード切替、強度表示、コピー、履歴をまとめた高速な生成ツールです。

この記事では設計・実装・使い方を通して読めます。下の本文からそのまま進めます。
ツールを開く
パスワード生成ツール passgen の設計・実装・使い方
本文について

このページは、背景から実装、使い方までを一続きで読めるように整えています。

本文

为什么需要一个更快的密码生成器

01

passgen 的目标很直接:让你在需要密码、UUID 或 PIN 的时候,不用去别的站点来回切换。很多时候,真正麻烦的不是生成本身,而是你还要决定格式、长度、是否能复制、是否要保留历史。

所以我把它做成一个很快的单页工具,打开就能生成,生成完就能复制,也能顺手保存最近几次结果。

参考ファイルsrc/app/tools/passgen/pass-client.tsxsrc/app/tools/passgen/page.tsx

为什么我把设置压到最少

02

密码工具最常见的问题,是把设置做得太多。字符集、长度、特殊模式、强度条都可以堆上去,但用户在现场要的往往不是功能,而是一个马上可用的结果。

所以我把模式分成两类:普通密码和特殊模式。UUID、PIN 与字符集模式互斥,避免用户选完以后又不知道自己生成了什么。

参考ファイルsrc/app/tools/passgen/pass-client.tsxsrc/dictionaries/zh.jsonsrc/dictionaries/ja.json

实现和用法

03

实现上我用的是浏览器原生的 `crypto.randomUUID()` 和 `window.crypto.getRandomValues()`。这样做的好处是随机源可靠,而且不需要把敏感逻辑放到服务端。

用法也很简单:先选长度或特殊模式,再点“生成”,然后复制结果。如果你希望把临时密码展示给别人,也可以切出 QR 码。

参考ファイルsrc/app/tools/passgen/pass-client.tsxsrc/app/tools/passgen/__tests__/passgen.test.ts