cra*_*ake 2 c# t-sql sql-server
我正在开发一个C#项目,我们有一个文本值放在nvarchar字段的SQL Server数据库表中.使用以下代码对值进行哈希处理:
byte[] data = Encoding.ASCII.GetBytes("valuetohash");
byte[] bytes = new SHA512Managed().ComputeHash(data);
String result = Encoding.ASCII.GetString(bytes);
Run Code Online (Sandbox Code Playgroud)
现在我需要使用T-SQL复制创建相同的值.
谁能告诉我怎么做到这一点?
我试过了 HASHBYTES ( 'SHA2_512', 'valuetohash' )
但是缺少ASCII编码并产生不同的值.
您需要将二进制数据转换为Base64字符串,您可以尝试使用CONVERT函数:
SELECT CONVERT(varchar(max), HASHBYTES ('SHA2_512', 'valuetohash') ,2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2067 次 |
| 最近记录: |