0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

passgen の実装。crypto と履歴で速さを保つ

0
Posted at

passgen の実装。crypto と履歴で速さを保つ

passgen の実装で大事にしたのは、生成の強さ操作の軽さ の両立です。
安全な乱数を使うことは前提として、そのうえで、画面の反応を遅くしないことも必要でした。

乱数生成の基本

生成処理はブラウザ標準の crypto 系 API を中心に組みます。
これにより、外部ライブラリに頼りすぎず、ブラウザ側で完結した生成ができます。

実装では、用途ごとに出力形式を少しずつ変えます。

  • パスワード: 文字種と長さを組み合わせる
  • UUID: そのまま識別子として使える形にする
  • PIN: 短い数字列として扱いやすくする

履歴を残す理由

生成結果は 1 回で終わらないことが多いので、直前の出力を軽く振り返れるようにしています。
履歴があると、

  • 似た値を再利用しやすい
  • どのモードで生成したか思い出しやすい
  • 直近の作業を戻しやすい

という利点があります。

実装を軽く保つ

この手のツールは、やろうと思えばいくらでも機能を増やせます。
ただし、増やしすぎると「速く使える」という価値が落ちます。
そのため、passgen では「今必要な機能だけを残す」ことを意識して、
生成ロジック、コピー、履歴の責務をできるだけ分けています。

小さいツールほど、実装の単純さがそのまま使い心地に直結します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?