2014-01-17 6 views
1

Я новичок в PHP-скриптах. Я разработал приложение VB.net, в котором я использую функцию GetHashCode() для генерации ключа активации. Теперь я хочу сгенерировать ключ активации с помощью PHP.Что такое эквивалент .Net GetHashCode() в PHP?

Может ли кто-нибудь помочь мне получить эквивалентную функцию 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 - 'GetHashCode' на стороне .Net« Потребители GetHashCode не могут полагаться на то, что они стабильны с течением времени или в областях приложений » –

ответ

1

Нет, вы не можете сделать это с String.GetHashCode.

Вы не можете сохранить результат String.GetHashCode, так как он может/будет изменяться между запусками одной и той же программы - так что даже если в PHP существует «эквивалентный» метод, вы не можете реально сравнивать результаты.

Вам необходимо использовать нестандартный код, с которым соглашаются обе стороны.

I.e. используйте SHA256 для вычисления хеша строки - есть много примеров, как вычислить хэш на любом языке, то есть hmac_sha256 in php and c# differ охватывает оба. Если вы сами пишете код, обязательно поймите, как кодировать строки (например, UTF8) и результат (т. Е. Hex или Base64).

+0

Большое спасибо .. – Krishna

Смежные вопросы