如何在PHP中复制ASP Classic SHA512 Hash函数

时间:2015-02-04 06:08:26

标签: php hash asp-classic salt sha512

我目前正在用PHP重写一个asp经典网站,到目前为止一切都很简单,直到我达到了密码哈希功能。在PHP中,我使用了hash_hmachash,但我似乎无法使用PHP中的静态盐复制此函数结果。请有人帮助指导我如何在PHP中生成相同的结果?

<%  Function Hash(strPassword, strIndividualSalt)

  Const strSiteWideSalt = "Bacon and HASH is best served with a good Salt!"
  Hash = HashSHA512Managed(strSiteWideSalt & strPassword & strIndividualSalt)

End Function

Function HashSHA512Managed(saltedPassword)

  Dim objMD5, objUTF8
  Dim arrByte
  Dim strHash
  Set objUnicode = CreateObject("System.Text.UnicodeEncoding")
  Set objSHA512 = Server.CreateObject("System.Security.Cryptography.SHA512Managed")

  arrByte = objUnicode.GetBytes_4(saltedPassword)
  strHash = objSHA512.ComputeHash_2((arrByte))

  HashSHA512Managed = ToBase64(strHash)

End Function

Function ToBase64(rabyt)
    Dim xml: Set xml = CreateObject("MSXML2.DOMDocument.3.0")
    xml.LoadXml "<root />"
    xml.documentElement.dataType = "bin.base64"
    xml.documentElement.nodeTypedValue = rabyt
    ToBase64 = xml.documentElement.Text
End Function
response.write  Hash("mypassword", "mysalt")%>

这输出......

1Asf3PuLZetBni4laI7jDKG3fbhlzKzB41G2694oZdH6nELLXklqtvY8Tniqjf3/2/gGg01fzs4w67l1Tfs20A==

我应该使用hash_hmac吗?或者我是否需要使用hash()在PHP中复制该函数?任何帮助将不胜感激。

0 个答案:

没有答案