SQL Serverには、MD5でパスワードハッシュされた1つのnvarchar
列があります。私はテスト目的のためにこの列を照会したい。私はこのようなクエリを実行するためにSQL Server Management Studioを使いました。MD5でハッシュされた列のSQL Serverを照会
select * from users where Password = HASHBYTES('MD5','password');
私はこのようなクエリをMYSQLで使用することを覚えていますが、SQL Serverでどのように行うかわかりません。
注:私はMD5からプレーンに変換することを求めていません。アプリケーションが正しくパスワードをハッシュしていることをテストしたいだけです。
編集:
私はSQL ServerのMD5ハッシュ
using System.Web.Security;
....
FormsAuthentication.HashPasswordForStoringInConfigFile(stringToEncrypt, "MD5");
クエリを実行するとどうなりますか?ハッシュが 'VARBINARY'として保存されていないのはなぜですか? –
クエリは実行されますが、0行が返されます。私は、VARBINARYの代わりにVARCHARを使用する可能性についてはあまりよく分かりません。実際には、コードファーストエンティティモデルから生成されたデータベースを使用しました。そのEntityModelでは、パスワードフィールドとしてstringを使用し、データベースのフィールドのVARCHARカラムを生成しました。 – Jatin
文字列ではなくハッシュされたパスワードを使用することに決めました(これは良いことです!)、データベーススキーマを更新することを考慮する必要があります。私はCFEMを使ってそのことを行う方法を教えてもらいたいと思いますが、私の本能はいつもDesign First Code Laterになる予定です。 –