簡體   English   中英

什么等效於.Net在PHP中的GetHashCode()?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM