【发布时间】:2016-11-19 18:12:08
【问题描述】:
请看代码SQL:
create table [User] (ID int identity not null,EmailAddress varchar(50), [Password] BINARY(32),primary key (ID))
INSERT INTO [User] (EmailAddress,[Password]) values ('testuser@hotmail.co.uk',hashbytes('SHA256','test'))
在密码字段中输入了一个空值。这是为什么呢?
我希望以下查询会返回一行,但它不返回任何行:
SELECT * FROM [User] where password = hashbytes('sha256','test')
您可能会说我是散列算法的新手。
以下问题表明您应该将密码存储为 BINARY(32):CHAR(64) or BINARY(32) To Store SHA256 Hash in SQL SERVER
【问题讨论】:
-
从不使用它,但尝试
hashbytes( 'SHA2_256',´test´)你在插入和选择中都缺少数字 2 和取消划线字符 -
@Horaciux,该值仍然为空。
-
它对我有用,我把它作为答案发布给你看
标签: sql sql-server