将 hashbytes() 函数的输出插入表中

Posted

技术标签:

【中文标题】将 hashbytes() 函数的输出插入表中【英文标题】:Inserting output of hashbytes() function into a table 【发布时间】:2018-07-26 17:38:13 【问题描述】:

我有一张名为tbenc 的表。想要在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 而不是哈希码。

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

【问题讨论】:

【参考方案1】:

你需要使用varbinary:

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

【讨论】:

以上是关于将 hashbytes() 函数的输出插入表中的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server - 如何将散列密码插入表?

SQL Server HashBytes 函数

MSSQL Sql加密函数 hashbytes 用法简介

SQL Server ->> 校检函数CHECKSUMCHECKSUM_AGGBINARY_CHECKSUM和HASHBYTES

将 sql 结果集聚合为 HashBytes 值

如何将 JSON 数组(或 JSON 数组)传递给 pg 函数以插入到表中?