我正在移植一些代码从.net(VB)到PHP,我碰到一些MD5散列,我不能在PHP中重现。在.net中,有两个函数使用UTF-8编码,另一个使用Unicode编码。输出是一个不同的hash字符串中的如何用不同的编码产生不同的md5散列?
// First function (returns GUID)
Dim oHasher As Cryptography.MD5 = Cryptography.MD5.Create()
Dim oEncoder As New System.Text.UTF8Encoding()
Dim csData() As Byte
csData = oHasher.ComputeHash(oEncoder.GetBytes(strInput))
// Second function (returns GUID)
Dim oHasher As Cryptography.MD5 = Cryptography.MD5.Create()
Dim oEncoder As New System.Text.UnicodeEncoding()
Dim csData() As Byte
csData = oHasher.ComputeHash(oEncoder.GetBytes(strInput))
过去了,当在PHP中我一直在使用
$passHash = md5(utf8_encode($password));
$newPassHash = md5($password);
尝试,但他们都产生相同的结果。使用md5散列法可以在php中产生相同的结果吗?
UTF-16将在Windows上一个安全的赌注。 – 2011-04-01 20:40:54
我会给你一个镜头。谢谢! – chobo 2011-04-01 21:07:29
那么做了那个工作? – 2011-04-02 17:52:03