我尝试使用SHA256散列字符串,我使用以下代码:
using System;
using System.Security.Cryptography;
using System.Text;
public class Hash
{
public static string getHashSha256(string text)
{
byte[] bytes = Encoding.Unicode.GetBytes(text);
SHA256Managed hashstring = new SHA256Managed();
byte[] hash = hashstring.ComputeHash(bytes);
string hashString = string.Empty;
foreach (byte x in hash)
{
hashString += String.Format("{0:x2}", x);
}
return hashString;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,与我的朋友php以及在线生成器(例如This generator)相比,此代码提供了显着不同的结果.
有谁知道错误是什么?不同的基地?
SQL Server中是否有内置的sha256功能?我也找不到sha256 T-SQL函数源代码.有替代品的人吗?
我需要从SQL服务器中的表生成SHA256 base 64哈希,但我在列表 HASHBYTES参数中找不到该算法.
有没有办法直接在SQL Server中生成它?
重复的disclamer:
我的问题是在T-sql存储过程中没有重复SHA256,因为我正在寻找未在页面中列出的SHA256 base 64版本的算法.
数字示例
我在SQL Server中有这个查询结果
开始日期,结束日期,POD,金额,货币
2016-01-01,2016-12-31,1234567890,12000,EUR
这给我以下字符串(使用concatenate函数)
2016-01-012016-12-31123456789012000EUR
whit 这个转换工具我得到以下哈希
GMRzFNmm90KLVtO1kwTf7EcSeImq + 96QTHgnWFFmZ0U
我需要发送给客户.