0

データ テーブル: people_t

列:

Username - nvarchar(200)
PasswordHash - nvarchar(1000)

クエリ:

タイプ ハッシュの複数のパスワードをユーザー名に変更したいと考えています。コマンドの後、パスワードは引き続きハッシュされますが、実際のパスワードはユーザーのユーザー名になります。例えば

  • ユーザー名: ジョンドー
  • パスワードハッシュ: iamjohn

となります:

  • ユーザー名: ジョンドー
  • パスワードハッシュ: johndoe

私は次のことを試みています:

DECLARE @UserPass SHA1 --Var for storage of username
SET @UserPass=UserName --Add current Username's to UserPass var

UPDATE people_t --Update the people_t
SET PasswordHash=@UserPass --Do the job

WHERE句が必要ですか、それともここで何が間違っていますか?

よろしくお願いします。

4

2 に答える 2

0

任意のアルゴリズムを使用できます: MD2 、 MD4 、 MD5 、 SHA 、 SHA1 、 SHA2_256 、 SHA2_512

あなたのクエリ:

UPDATE people_t set PasswordHash =  HASHBYTES('ALGORITHM', UserName)

ALGORITHM を上記のいずれかに置き換えます。

ドキュメンテーション
暗号化アルゴリズムの選択方法

于 2013-11-27T14:37:17.377 に答える