将 hashbytes() 函数的输出插入 table

Inserting output of hashbytes() function into a table

我有一个叫 tbenc 的 table。想要在 Name 列中插入一个值,该值应该使用 hashbytes() T-SQL 函数进行散列加密。

create table tbenc
(
    Id int not null identity,
    Name varchar(300) null,
) 

declare @var nvarchar(200)
select @var = hashbytes('sha1', 'Nora')
print @var
insert into tbenc values(@var)

当我运行:

select * from tbenc

它显示 ?-s 而不是哈希码。

谁能指出我的错误?提前致谢。

您需要使用 varbinary :

declare @var varbinary(200)
select @var = hashbytes('sha1', 'Nora')
print @var;