[英]How to convert from Hashbytes function's SHA2_256 encryption datatype to varchar(256) in SQL Server 2012
I want to implement a password encryption system using SQL in SQL Server 2012. 我想在SQL Server 2012中使用SQL实现密码加密系统。
The HASHBYTES
method must have only nvarchar
, varbinary
datatype. HASHBYTES
方法必须仅具有nvarchar
, varbinary
数据类型。
update members
set passwd = cast(HASHBYTES('SHA2_256', 'asd123123') as varchar(256)),
pwchangedat = GETDATE()
where userid = 'abcd1234'
The unexpected result of the Select
query applied above update query: 在更新查询上方应用Select
查询的意外结果:
?lZX?갅4磎?닽뙷?I?#?뚭?
I want to fix this varchar(256)
data type string 'asd123123' applied SHA-256 encryption. 我想修复此应用了SHA-256加密的varchar(256)
数据类型字符串'asd123123'。
I want: 我想要:
c82a6c7f5a58a915814334cda5a2ef88ab8cba922f49ec1623e2248ceabf7ddc
How can I get a solution? 如何获得解决方案?
Regards, 问候,
I think this is what you are looking for... 我认为这就是您要寻找的...
select convert(varchar(256),HASHBYTES('SHA2_256','asd123123'),2)
See the Binary Styles Section (since Hashbytes returns varbinary) 请参见“ 二进制样式”部分 (因为Hashbytes返回varbinary)
Thus.... 从而....
update members set
passwd = convert(varchar(256),HASHBYTES('SHA2_256','asd123123'),2),
pwchangedat = GETDATE()
where userid = 'abcd1234'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.