サイトごとにパスワード変えたい
どうするのがいいかなー
- マスターパスワード一個は覚える
- サイトごとに違うパスワードに
- 出先や、環境が違っても生成できるように
- サイト一個だけパスワードを変更したい場合にできるように
単純に location.host + master-pass を JS で SHA1 かけるのがお手軽っぽい。けどそれだとサイト一個だけパスワード変更ができない。
- マスターパスワードを何個か覚えて、サイトごとに全部試す
- 割と普通の方法
- サイトごとに追加の文字列をどっかにもっておく
- どこに置くか
ふつうにマスターパスワードいくつか覚えるのがよさそう。変にがんばってもしかたない。
あと問題点は
- SHA1 だと長すぎて登録できないサービスがある
Digest::SHA1.hexdigest("")
#=> "da39a3ee5e6b4b0d3255bfef95601890afd80709"
[Digest::SHA1.digest("")].pack("m")
#=> "2jmj7l5rSw0yVb/vlWAYkK/YBwk=\n"してできるだけ頑張ったあと先頭いくらかかなぁ……
http://svn.coderepos.org/share/lang/javascript/bookmarklets/passon.bookmarklet.js
CodeRepos に置いてみました。SHA1 (光成さん作) も Base64 (弾さん作) もライブラリつかったので頭つかわないで書けた! スバラシス
CodeRepos においておけば出先のときでもまずどこに置いてあるか忘れないし、svn だから変更がトラッキングしやすいしいいかなぁ的な
いくつかのサイトは既にこれつかって変えてみた。
- prompt でマスターパスワードを入力するのは表示されてしまうのでまずい。
- ページ内のパスワード入力フォームをそのまま使うように
- フォーカスされている input の内容をマスターパスワードとして使い、パスワードをつくって input 要素にもどしてる
- 文字数制限があってダメなときは、でてきた生成ずみパスワードの prompt に数字で文字数を入れると削って入れなおす
生成済みパスワードは人間が即座に覚えられるようなものじゃないので prompt だしてる。
prompt に出すのも録画環境だったりするとやっぱちょっとアレなので、クリップボードに入れるようにしてみた。
パスワードに制限がかかってるサイトは、そんなに多くはないみたいなので個別にブックマークレットに入れておくことにした。