Как реплицировать хеш-функцию ASP Classic SHA512 в переполнении стека

В настоящее время я переписываю сайт asp classic на PHP, пока что все было просто, пока я не достиг функции хеширования пароля. В PHP я использовал hash_hmac а также hash, но я не могу воспроизвести результаты этой функции, используя статическую соль в 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? Или мне нужно повторить функцию в PHP с помощью hash()? Любая помощь будет оценена.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …