silverlight 中的 MD5 哈希值

发布于 2024-10-02 23:27:04 字数 718 浏览 5 评论 0原文

我正在开发 Windows Phone 7 应用程序。我正在 silverlight 中使用此实现进行 MD5 散列。

我正在使用此代码 -

    protected string GetMD5Hash(string input)
    {
        byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
        MD5Managed md5 = new MD5Managed();
        byte[] hash = md5.ComputeHash(bs);

        StringBuilder sb = new StringBuilder();
        foreach (byte b in bs)
        {
            sb.Append(b.ToString("x2").ToLower());
        }

        return sb.ToString();    
    }

但是,我没有获得我提供的输入的正确 MD5 哈希值。我不确定这段代码有什么问题。如果有人在 silverlight 中使用此实现进行 MD5 散列,你知道我哪里出错了吗?

I am working on a Windows phone 7 application. I am using this implementation for MD5 hashing in silverlight.

I am using this code -

    protected string GetMD5Hash(string input)
    {
        byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
        MD5Managed md5 = new MD5Managed();
        byte[] hash = md5.ComputeHash(bs);

        StringBuilder sb = new StringBuilder();
        foreach (byte b in bs)
        {
            sb.Append(b.ToString("x2").ToLower());
        }

        return sb.ToString();    
    }

But, I am not getting the correct MD5 hash for the input I provide. I am not sure what is wrong with this code. If anyone has used this implementation for MD5 hashing in silverlight, do you know where have I gone wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

屋檐 2024-10-09 23:27:04

您返回的是输入的十六进制版本,而不是哈希:

foreach (byte b in bs)

应该是

foreach (byte b in hash)

(如果您不介意,另一种方法是使用Convert.ToBase64String(hash)采用 Base64 而不是十六进制。)

You're returning the hex version of the input, not the hash:

foreach (byte b in bs)

should be

foreach (byte b in hash)

(An alternative is to use Convert.ToBase64String(hash) if you don't mind it being in Base64 rather than hex.)

最笨的告白 2024-10-09 23:27:04

对此已经有一个公认的答案,但对于在 Silverlight 或 Windows Phone 中使用 MD5 的其他人,我发布了一个链接到 MD5 的另一个实现,我已经取得了更大的成功。

我花了几个小时对原始帖子中提到的实现进行了绞尽脑汁,试图让它在我的 Windows Phone 项目中运行。它在某些情况下有效,但在其他情况下无效。

杰夫·威尔考克斯的版本运行得非常好。

There is already an accepted answer for this, but for others who are using MD5 in Silverlight or Windows Phone, I'm posting a link to another implementation of MD5 that I've had more success with.

I spent several hours beating my head against the wall with the implementation mentioned by the original post, trying to get it working in my Windows Phone project. It was working in some cases and not in others.

Jeff Wilcox's version worked perfectly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文