使用sha256计算电子邮件的电子邮件哈希值

时间:2012-06-06 19:33:52

标签: asp.net-mvc c#-4.0 hotmail sha256

我正在尝试从asp.net mvc中的hotmail检索联系人。 hotmail api的响应包含电子邮件作为电子邮件哈希,我知道我们无法解密该电子邮件地址哈希。在那里我看到另外一个包含实际联系电子邮件地址的字段名称字段。我可以使用sHA56 hasing计算该电子邮件地址的哈希值。

1 个答案:

答案 0 :(得分:0)

那怎么样?它假设要散列的字符串是用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();
        }
    }
}