在SQL Server中创建ASCII SHA-512哈希值
本文关键字:ASCII SHA-512 哈希值 创建 SQL Server | 更新日期: 2023-09-27 18:06:42
我正在研究一个c#项目,其中我们有一个文本值放在SQL Server数据库表中的nvarchar字段中。使用下面的代码对值进行散列:
byte[] data = Encoding.ASCII.GetBytes("valuetohash");
byte[] bytes = new SHA512Managed().ComputeHash(data);
String result = Encoding.ASCII.GetString(bytes);
现在我需要使用T-SQL复制创建相同的值。
谁能告诉我怎么做?I tried HASHBYTES ( 'SHA2_512', 'valuetohash' )
,但缺少ASCII编码并产生不同的值。
您需要将二进制数据转换为Base64字符串,您可以尝试使用convert函数:
SELECT CONVERT(varchar(max), HASHBYTES ('SHA2_512', 'valuetohash') ,2)