将 C# 行转换为 PHP
我在 C# 中有以下函数:
static MD5CryptoServiceProvider md5Provider = new MD5CryptoServiceProvider();
public string Guid GetMD5(string str)
{
lock (md5Provider)
{
return (new Guid(md5Provider.ComputeHash(Encoding.Unicode.GetBytes(str)))).ToString();
}
}
我需要相同的代码,但使用 PHP。 请注意,md5() 函数具有不同的行为。
谢谢
I have the following function in C#:
static MD5CryptoServiceProvider md5Provider = new MD5CryptoServiceProvider();
public string Guid GetMD5(string str)
{
lock (md5Provider)
{
return (new Guid(md5Provider.ComputeHash(Encoding.Unicode.GetBytes(str)))).ToString();
}
}
I need the same code but with PHP.
Note that the md5() function has a different behavior.
thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑您遇到的问题是 C# 代码返回用破折号分隔的哈希值,因为您要将哈希值转换为 GUID,并且
GUID.ToString()
返回 M$ 所谓的“注册表格式”的字符串,这是标准的8-4-4-4-12 GUID 的字符串表示法。如果是这种情况,您可以使用此函数获得相同的结果:
I suspect the issue you are having is that the C# code returns the hash separated with dashes, because you are converting the hash to a GUID, and
GUID.ToString()
returns the string in what M$ call "registry format", which is the standard 8-4-4-4-12 string notation of a GUID.If this is the case, you could achieve the same result with this function: