Firefox用の、パスワードを作成するGreasemonkeyスクリプトを書いてみました。作成されたパスワードは自動でクリップボードにコピーできます。dataスキーム、Flashファイルは使っていません。
PassMaker.user.js認証画面のパスワード入力欄で、Altキーを押すと、自動作成されたパスワードが記入されます。認証サイトごとに、パスワードの文字数や使う記号を設定できます。外部ライブラリとの通信、パスワードの平文・暗号文・ハッシュ値のPCへの保存は行ないません。
パスワードは、
- ドメイン名 (www.google.com, login.yahoo.co.jp, www.hatena.ne.jp など)
- ユーザー欄に入力された文字列
- パスワード欄に入力された文字列
表示された設定項目のlength欄に希望するパスワードの文字数を入力します。
最大文字数は43文字です。
初期設定では、数字と大文字・小文字のアルファベットからなるパスワードが作られます。
2文字まで、パスワードに使用可能な記号を指定することができます。
その設定は、marks欄に入力します。
salt欄に文字列を入力すると、異なるパスワードを作成することができます。
作成されたパスワードをダイアログで表示させるかどうかをshow項目のラジオボタンで選べます。copy項目のラジオボタンでは、パスワードをクリップボードにコピーするかどうかを設定できます。OKボタンを押すか暗くなった画面をクリックすると、設定情報が保存され画面が元に戻ります。RESETボタンを押すと、そのサイトに関する設定情報がPCから削除されます。
アドレスバーにabout:configと入力し、フィルタを使うことで設定情報を見ることも出来ます。設定名greasemonkey.scriptvals.http://juce6ox.blogspot.com//PassMaker.dataに各サイトでの設定値を保存しています。
Firefoxの初期設定では、javascriptからクリップボードへのコピーは禁止されているようです。コピーを許可するための手順は以下の通りです。
- NoScriptアドオンを利用している場合 NoScriptアドオンの詳細設定で、「クリップボードからリッチテキストのコピーとペーストを可能にする」をチェックします。
- NoScriptアドオンを利用していない場合(Firefoxの初期設定) Firefoxのプロファイルフォルダにあるuser.jsを編集します。 無い場合は、新規にuser.jsというファイルをそのフォルダに作成します。 その際に文字コードは、UTF-8を指定します。
user.jsに次のコードを加えます。
user_pref("capability.policy.policynames", "allowclipboard");
user_pref("capability.policy.allowclipboard.sites", "https://www.google.com https://login.yahoo.co.jp https://www.hatena.ne.jp");
user_pref("capability.policy.allowclipboard.Clipboard.copy", "allAccess");
上記の例は、Google、Yahoo!、はてなへの認証画面でパスワードコピーを許可しています。
パスワードのクリップボードへの自動コピーを許可するサイトを追加するには、上記2行目のように認証を行うURLを半角スペースで区切って追加してください。
履歴
参考サイト
- Hash algorithm of JavaScript
kerryさん作のSHA-256ライブラリを活用させていただきました。 - リッチテキスト編集 仕様(英語版)
WYSIWYGエディタに夢中になったときのメモ
designMode属性、execCommandメソッドについて。 - Mozilla リッチテキスト編集デモ向け設定(英語版)
リッチテキストのコピー&ペーストを許可する - Mozilla Firefox まとめサイト
execCommandで編集するためのuser.js設定について。 - Firefoxでテキストをクリップボードにコピーする方法 - 最速インターフェース研究会
dataスキームを使い外部への通信をせずにBase64符号化されたFlashとの連携でクリップボードへのコピーをする方法。凄い発想と着眼点。Flash Player8で有効。現在のFlash Player9以降ではこの手法は仕様変更により無効化された模様? - JavaScriptでクリップボードを使う(IE/Firefox) - ウノウラボ
Firefox でクリップボードに値をセットする関数を作るワンライナ - 川o・-・)<2nd life
サイトごとにパスワード変えたい - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。
Flashのswfファイルとjavascriptの連携によるクリップボード操作について。

0 件のコメント:
コメントを投稿