我是PHP脚本的新手。我开发了一个VB.net应用程序,我在其中使用GetHashCode()
函数来生成激活密钥。现在我想使用PHP生成激活密钥。
任何人都可以帮助我获得相同的PHP功能吗?下面我写了VB.Net的例子。
Dim MyString As String = "hello"
MsgBox(MyString.GetHashCode)
输出:
-695839
答案 0 :(得分:1)
不,你不能用String.GetHashCode
来做到这一点。
你不能保留String.GetHashCode
的结果,因为它可能/将在同一程序的启动之间发生变化 - 所以即使PHP中存在“等效”方法,你也无法真正比较它们的结果。
您需要使用双方同意的一些自定义代码。
即。使用SHA256来计算字符串的散列 - 有很多样本如何计算任何一种语言的散列,即hmac_sha256 in php and c# differ涵盖两者。如果自己编写代码,请确保了解如何编码字符串(即UTF8)和结果(即Hex或Base64)。
答案 1 :(得分:0)
是的,在.NET中,您可以在使用ValueTypes时保留GetHashCode()结果, 提到的方法仅适用于Object(ReferenceTypes)。
https://msdn.microsoft.com/pt-br/library/system.object.gethashcode(v=vs.110).aspx
干杯