【发布时间】:2012-06-06 19:33:52
【问题描述】:
我正在尝试从 asp.net mvc 中的 hotmail 中检索联系人。 hotmail api 的响应包含电子邮件作为电子邮件哈希,我知道我们无法解密该电子邮件地址哈希。并且在那里我看到了一个包含实际联系人电子邮件地址的字段名称字段。我如何使用 sHA56 hasing 计算该电子邮件地址的哈希值。
【问题讨论】:
标签: asp.net-mvc c#-4.0 hotmail sha256
我正在尝试从 asp.net mvc 中的 hotmail 中检索联系人。 hotmail api 的响应包含电子邮件作为电子邮件哈希,我知道我们无法解密该电子邮件地址哈希。并且在那里我看到了一个包含实际联系人电子邮件地址的字段名称字段。我如何使用 sHA56 hasing 计算该电子邮件地址的哈希值。
【问题讨论】:
标签: asp.net-mvc c#-4.0 hotmail sha256
那怎么办?它假设要散列的字符串以 UTF-8 编码,您链接的文章没有提到应该使用的编码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
namespace TestSHAHash
{
class Program
{
static void Main(string[] args)
{
string email = "Someone@Example.org";
string clientId = "0000000603DB0F";
string toHash = (email.Trim() + clientId.Trim()).ToLowerInvariant();
byte[] data = Encoding.UTF8.GetBytes(toHash);
byte[] result;
SHA256 shaM = new SHA256Managed();
result = shaM.ComputeHash(data);
string lowerHexaDecimal = BitConverter.ToString(result).Replace("-","").ToLowerInvariant();
Console.WriteLine(lowerHexaDecimal);
Console.ReadLine();
}
}
}
【讨论】: