哈希nvarchar为UTF32

时间:2018-01-09 10:37:54

标签: tsql hash character-encoding

我有一个nvarchar类型的列。我想获得这些字符的UTF32表示的SHA256哈希值。

我发现HASHBYTES似乎与SELECT HASHBYTES('SHA2_256', MyBinaryData)一起做了我想做的事情。

它还表明它可以在nvarchar上运行,但它并没有表明它是如何从字符转换为字节的。我特别需要UTF32表示的哈希。我怎么能得到那个哈希?是否有数据库内的方式将nvarchar编码为UTF32,我可以将其提供给HASHBYTES?还有另一种方式吗?

1 个答案:

答案 0 :(得分:0)

要获取nvarchar列的UTF32表示(在SQL Server中),您应该使用一些CLR代码。

尝试类似于此答案中的代码:https://stackoverflow.com/a/14041069/1187211