【发布时间】:2015-10-13 23:01:03
【问题描述】:
我在 C# 中有这个函数。
public static implicit operator Guid(TCPPacketReader p)
{
byte[] tmp = new byte[16];
Array.Copy(p.Data.ToArray(), p.Position, tmp, 0, tmp.Length);
p.Position += 16;
using (MD5 md5 = MD5.Create())
tmp = md5.ComputeHash(tmp); //wtf?
return new Guid(tmp);
}
我正在尝试在 PHP 中复制此功能。问题是当我在数组中得到这个 tmp 变量时。它返回类似:
array[5, 49, 42, 5, 254, 160, 191, 64, 79, 37, 216, 169, 201, 181, 13, 0, 59, 187]
我真的不知道如何在 php 中执行此 computeHash(tmp)。我已经用 md5() PHP 的函数尝试过它,但返回一个空对象。我用谷歌搜索了很多,但没有成功。有人知道怎么做吗?
【问题讨论】:
-
似乎你有一个字符数组。我不是 php 专家或任何东西,但您需要先以某种方式转换为字符串,然后再将其传递给 md5()。试试 mdf(implode(" ",$array))
-
这个数组是一个 guid 数组字节。并且 c# 中的这个函数再次转换为字符串中的 guid。我正在尝试在 php 中做同样的事情。让我们尝试这样做看看是否有效。
标签: c# php sockets hash converter