我正在移植一些代碼從.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