データベース プロバイダーとして SimpleMembershipProvider を使用しています。
継承によってこのプロバイダーを改善するために、既に新しい関数を追加しています。
「ChangeEmail」のような関数を作成したいのですが、その前に入力したパスワードが正しいことを確認してください。
したがって、入力したパスワードを暗号化し、結果をデータベースのエントリと比較する必要があります。
質問は:
SimpleMembershipProvider はどのようにパスワードを暗号化しますか?
私は試した:
Crypto.HashPassword(currentPassword);
結果は似ていましたが、データベースのように同じではありませんでした。
PasswordFormat プロパティが MembershipPasswordFormat.Hashed に設定されています。
たとえば、登録中に生成された「123456」のハッシュ:
AIYlAKcmDaABMw1PVx1kheZq2KXkhVs4QjO7MnwfHPcTBjnmRobRqJzWYHYO/S4T7w==
そしてこれはCrypto.HashPasswordを介して:
AG+md+0W2EuV9BzUdohkYMK547jB5ochvxeVKYQTkls0UQ+3W0BWPHnFoffiIn2byw==
同じタイプのエンコーディングのように見えますが、結果が異なるのはなぜですか?