残念ながら、データベースに平文のパスワードがあります。たとえば、比較や更新のために、これらのプレーンテキスト値をできるだけ少なく渡したいと考えています。この目的のために、プレーンテキストのパスワードを除外し、代わりにそのパスワードのハッシュ値を提供するユーザー テーブルのビューを作成しようとしています。
動作しない私の現在の SQL Server ビューは次のとおりです。
SELECT CAST(CAST(32768 * RAND() AS INT) AS NVARCHAR) AS PasswordSalt
HashBytes('SHA1', PasswordSalt + u.Password) AS PasswordHash
FROM dbo.Users AS u
このアプローチの代替案について聞いてうれしいですが、それ以外の場合、問題は仮想列PasswordSaltを連結しているようです. たとえば、次の単純なビューが機能します。
SELECT u.Login AS Column1, u.Login + 'b' AS Column2
しかし、これはしません:
SELECT u.Login AS Column1, Column1 + 'b' AS Column2
Management Studio から受け取ったエラーは
列名 'Column1' が無効です。
私が間違っていることについてのアイデアを事前にありがとう!