繁体   English   中英

PHP和VB.NET之间出现意外的MD5哈希结果

[英]Unexpected MD5 hash result between PHP and VB.NET

我现在已经尝试了大约4个小时来使我的vb.NET MD5函数生成与PHP相同的哈希

这是我的vb.net功能:

Public Function MD5(ByVal input As String) As String
    Dim x As New System.Security.Cryptography.MD5CryptoServiceProvider()
    Dim bs As Byte() = System.Text.Encoding.UTF8.GetBytes(input)
    bs = x.ComputeHash(bs)
    Dim s As New System.Text.StringBuilder()
    For Each b As Byte In bs
        s.Append(b.ToString("x2").ToLower())
    Next
    Dim hash As String = s.ToString()
    Return hash
End Function

“A3f4yoJz”的vb.NET MD5功能产生:

77f366330b7d65d451a96d38009cf06b"

但PHP产生:

5e9000c4f54e403484889df696151b9c

但是,某些wtrings(例如“paSsword1”)的散列效果非常好。

有什么想法吗? 我在vb.net中尝试了多种MD5方法。 我可以改变它在PHP中的工作方式,因为我正在编写一个库来与商业应用程序接口 - 我只需要生成相同的哈希值!

谢谢,

汤姆

我刚刚运行了您的确切代码并获得了5e9000c4f54e403484889df696151b9c ,因此您的输入字符串不能完全等于A3f4yoJz

更新:马克对你的问题的评论可能是要走的路。 仔细检查输入字符串是否有空格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM