【问题标题】:calculate email hash for email using sha256使用 sha256 计算电子邮件的电子邮件哈希
【发布时间】:2012-06-06 19:33:52
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。但是按照link这篇文章计算邮箱hash的结果与hotmail api response中的Email hash不匹配。
    • 根据您链接的文章中提供的信息进行编辑
    • 您正在遵循该文章中的 6 个步骤并使用上述 SHA256Managed 代码执行第 5 步正确吗?显然,如果您不遵循所有前面的步骤或后续步骤,那么它不会有相同的结果。
    猜你喜欢
    • 2011-11-10
    • 2012-10-10
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多