2014-01-17 44 views
1

我是PHP脚本编程新手。我开发了一个VB.net应用程序,其中我使用GetHashCode()函数来生成激活密钥。现在我想用PHP生成激活密钥。PHP中.Net的GetHashCode()的等价物是什么?

任何人都可以帮助我获得等效的PHP函数吗?下面我写了VB.Net的例子。

Dim MyString As String = "hello" 
MsgBox(MyString.GetHashCode) 

输出:

-695839

+0

退房此相关的帖子http://stackoverflow.com/questions/8804875/php-internal-hashcode-function – Jason

+4

的GetHashCode()的实现在.NET是未定义和可以在不同版本之间进行更改,请使用指定的哈希函数,如SHA256 – user1937198

+1

另请参阅:http://blogs.msdn.com/b/ericlippert/archive/2011/02/28/guidelines-and-rules-for-gethashcode。 aspx - 在.Net端的'GetHashCode'“GetHashCode的使用者不能依赖它在一段时间内稳定或跨越应用程序域” –

回答

1

不,你不能做到这一点与String.GetHashCode

您不能坚持String.GetHashCode的结果,因为它可能会在相同程序的启动之间发生变化 - 所以即使PHP中有“等效”方法,也无法真正比​​较它们的结果。

你需要使用一些双方都同意的自定义代码。

I.e.使用SHA256来计算字符串的散列值 - 有很多样本如何计算任何一种语言的散列值,即hmac_sha256 in php and c# differ涵盖两者。如果您自己编写代码,请确保了解如何对字符串(即UTF8)和结果(即Hex或Base64)进行编码。

+0

非常感谢。 – Krishna

相关问题