SQL Server:如何检索使用HASHBYTES加密的密码的实际值

rad*_*ngh 1 sql-server passwords sha1 sql-server-2008 hashbytes

在此处输入图片说明

insert into Customer(AccountNo,Name,EmailId,MobileNo,[Password],Balance,
                     CustomerKey,OTPPin,CreatedBy,CreatedOn)
values(@AccountNumber,@Name,@EmailId,
       EncryptByPassPhrase(@PassPhrase, CONVERT(nvarchar,@MobileNo)),
       HASHBYTES('SHA1',@Password),@TotalBalance,@CustomerKey,@OTPPin,0,GETDATE())
Run Code Online (Sandbox Code Playgroud)

我正在以这种形式获得价值在此处输入图片说明

现在,我想要密码的实际值。我怎么才能得到它?

And*_*yev 5

由于您使用HASHBYTES('SHA1'过密码-您无法直接找回其原始值。

SHA1是单向哈希函数。

实际上,在大多数情况下,您不需要该原始值。急速密码的典型用法不是以某种方式从哈希中获取原始值并将其与用户输入的密码进行比较,而是将哈希函数应用于用户输入的密码,然后比较两个哈希值。