![](/img/trans.png)
[英]What's the role of GetHashCode in the IEqualityComparer<T> in .NET?
[英]What is the equivalent of .Net's GetHashCode() in PHP?
我是PHP腳本的新手。 我開發了一個VB.net應用程序,其中使用了GetHashCode()
函數來生成激活密鑰。 現在,我想使用PHP生成激活密鑰。
誰能幫助我獲得等效的PHP函數? 下面我寫了VB.Net的示例。
Dim MyString As String = "hello"
MsgBox(MyString.GetHashCode)
輸出:
-695839
不,您不能使用String.GetHashCode
做到這String.GetHashCode
。
您不能持久化String.GetHashCode
結果,因為它可能/將在同一程序的啟動之間改變-因此,即使PHP中存在“等效”方法,您也無法真正使用它們來比較它們的結果。
您需要使用雙方都同意的一些自定義代碼。
即使用SHA256來計算字符串的哈希-有很多示例如何使用任一語言來計算哈希,即php和c#中的hmac_sha256都涵蓋了兩者。 如果您自己編寫代碼,請確保了解如何編碼字符串(即UTF8)和結果(即Hex或Base64)。
是的,在.NET中,您可以在使用ValueTypes時保留GetHashCode()結果,所述方法僅適用於Object(ReferenceTypes)。
https://msdn.microsoft.com/pt-br/library/system.object.gethashcode(v=vs.110).aspx
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.