membershipprovider.getPasswordアルゴリズム
-
29-09-2019 - |
質問
ASPサイト(Dotnetnukeを使用)を新しいPHPサイトに変換しています。私たちが現在持っている唯一のことは、既存のデータベースの完全なエクスポートです。テーブルの1つは「aspnet_membership」と呼ばれ、次のフィールドが含まれています。
- パスワード(base64のように見えます)
- PasswordFormat(常に値2)
- PasswordSalt(base64のように見えます)
- パスワードクエスト(常に空)
- PasswordAnswer(常に空)
これらのパスワードをデコードし、独自のフレームワークに合わせてハッシュしたいと考えています。 .NETドキュメントから私が理解していることから、これらの種類のパスワードは復号化できます。これを行うことができるアルゴリズムはありますか、それともそれよりも複雑ですか?現在のサーバーでASPスクリプトを作成すると可能ですか?
前もって感謝します
解決
2は「ハッシュ」ではなく「暗号化」を意味すると思います(定義を参照してください ここ)
暗号化されたことは、実際にそれを復号化できることを意味しますが、これらのパスワードが作成された物理マシンの構成ファイルに保存されているマシンキー(送信したリンクを見てください)が必要になります。データベースのコピーのみがある場合、それはできません。
他のヒント
残念ながら、PasswordFormatの2の値は、おそらくSHA1を使用してこれらのパスワードがハッシュされていることを示しています(これをWeb.configで確認できます)。元のパスワードを確実に取り戻す方法はありません、申し訳ありません。
*編集:もちろん、特定のハッシュ関数の特定の暗号化の弱点を知っていない限り。
所属していません StackOverflow