1

オンラインパスワードマネージャーのパスワードをMySQLデータベースに保存する方法を教えてください。大きなことは何もありません。ほんの数人のユーザーです。元に戻せないので、実際にハッシュすることはできませんよね?KeePassのようなプログラムはどのようにしてこれを達成しますか?

前もって感謝します!

4

2 に答える 2

4

回答へのアップグレード

通常、ユーザーのパスワードは、パスワードマネージャーであるユーザーに送信する前にマスターパスワードを使用して暗号化されます。このような暗号化されたパスワードを保存し、要求に応じてユーザーに返します。その後、マスターパスワードを使用して自分のマシンで復号化します。マスターパスワードや暗号化されていないパスワードを処理することはありません。そのため、保存している基になるパスワードに完全にアクセスすることはできません。

アプリケーションがWebベースの場合は、Javascriptで暗号化操作を実行できます(ただし、XSSとブラウザーのセキュリティの脆弱性には十分注意する必要があります)。StanfordJavascriptCryptoLibraryから始めるとよいでしょう。

于 2012-05-10T18:28:13.380 に答える
-1

パスワードをハッシュすることは、確かに元に戻せません。しかし、まさにその理由でパスワードをハッシュします。

  1. パスワードをハッシュします。データベースに挿入します。
  2. ユーザーがログインを試み、パスワードを入力します。ユーザー提供のパスワードはハッシュ化されます。データベースにあるものと一致する場合は、ユーザーを認証します。

プログラムは一般的に以下を提供します:

setPassword(user, password); //puts the (hashed) password into a database table associated with user
authenticate(user, password); //for given user, checks to see if password is valid

とは言うものの、この質問は非常に広範であり、おそらく反対票を投じられるでしょう。あなたは特定の質問をしたり、これまでに試したことを言ったりしていません。

于 2012-05-10T18:14:04.097 に答える