MD5 を使用してパスワードを更新するクエリを作成しました。しかし、古いパスワードだけでなく、新しいパスワードも機能していません。以下はクエリです。
UPDATE tbl_user
SET password = HashBytes('MD5', CAST(CHECKSUM('abc') AS varchar(32)))
WHERE login_id = 'user123'
パスワードとしてabcを指定すると、アプリケーションにログインしても機能しません。
MD5 を使用してパスワードを更新するクエリを作成しました。しかし、古いパスワードだけでなく、新しいパスワードも機能していません。以下はクエリです。
UPDATE tbl_user
SET password = HashBytes('MD5', CAST(CHECKSUM('abc') AS varchar(32)))
WHERE login_id = 'user123'
パスワードとしてabcを指定すると、アプリケーションにログインしても機能しません。
よくわかりませんが、まったく同じことをしたことはありませんがHashBytes('MD5', CAST(CHECKSUM('abc') AS varchar(32)))
、通常のクエリのように、パスワードの値を引用符で囲む必要があると思います
UPDATE tbl_user SET password='complexpassword' WHERE login_id = 'user123'
ああ、おそらく login_id を囲む括弧を削除する必要があります。パスワード値に引用符がない場合、文字列の末尾がどこにあるのかわかりません。おそらく "HashBytes('MD5', CAST(CHECKSUM('abc') AS varchar(32)))WHERE (login_id = 'user123')" をパスワードとして入力すると、位置情報がないことがわかります。つまり、文字列を認識してそのままテーブルに配置し、ハッシュを実行していません。
最も簡単な方法は、パスワードをクエリ ステートメントに渡す前にハッシュすることです。あなたの状況でそれが機能しない場合、および上記の修正が機能しない場合は教えてください.