Объявить переменную для HashBytes - PullRequest
0 голосов
/ 18 июня 2020

Я следую простому примеру из этого вопроса :

DECLARE @HASHBYTES VARBINARY(128) = hashbytes('sha2_256', 'secret')
SELECT cast(N'' as xml).value('xs:base64Binary(sql:variable("@HASHBYTES"))', 'varchar(128)');

Он возвращает правильное хешированное значение: K7gNU3sdo+OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols=

Теперь я попытался объявить секрет как переменная в соответствии с документацией Microsoft Hashbytes пример :

DECLARE @HashThis nvarchar(32);  
SET @HashThis = CONVERT(nvarchar(32),'secret');
DECLARE @HASHBYTES VARBINARY(128) = hashbytes('sha2_256', @HashThis)
SELECT cast(N'' as xml).value('xs:base64Binary(sql:variable("@HASHBYTES"))', 'varchar(128)');

он возвращает неправильный ha sh:

s6jeuSg7FUrj9WBqMj0GbSRudEDi2NTJqHqmG5UYOiY=

Есть ли способ объявить секрет как переменную для получить правильный ha sh?

Я новичок в этом материале Hashbytes в SQL. Я использую его на SQL Server 2017.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...