Php hash формирует строку в целое число

Есть ли у PHP встроенная функция для выполнения целых целых хэшей, что трудно отменить?

Теперь я знаю, что, возможно, мне удастся сделать md5 и обработать подстроку этого числа в качестве номера radix 16, но я ищу что-то встроенное.

Спасибо.

Ответы

Ответ 1

Я думаю, что лучший выбор выбрал бы стандартный хеш [либо md5() или sha1()], чтобы получить хэш вашей строки, а затем получить целочисленный хеш, в base_convert($hash, 16, 10) и который должен преобразовать ваш хэш в целочисленный хэш.

Надеюсь, я правильно понимаю вашу проблему.

Ответ 2

Я думаю, что вы на правильном пути в решении этой проблемы в два этапа.

Во-первых, вы, вероятно, должны придерживаться хеша md5, чтобы выполнить свое требование "трудно отменить".

Во-вторых, вы можете взять вывод md5 в качестве входа в функцию "преобразовать это в целое".

для второй части, что вы собираетесь точно? Является ли целым числом? Или просто печатные символы? если вы просто хотите преобразовать свой хэш во что-то, что вы можете сохранить в базе данных, передать по кабелю или по какой-либо другой причине, то строка md5 не будет работать, функция convertuuencode может работать для вас: http://us.php.net/manual/en/function.convert-uuencode.php

Еще один хакерский подход с круговым движением заключался в том, чтобы получить двоичное значение вашего хэша и преобразовать его в десятичную с помощью: http://us.php.net/manual/en/function.bindec.php, хотя, я никогда не пробовал этого и не уверен, будет ли он работать так, как вы хотите.

Ответ 3

Я не думаю, что вы найдете что-нибудь встроенное для этого, но на самом деле ваша идея с md5() довольно хороша. Я не мог себе представить, зачем вам нужно что-то еще: не может быть быстрее, не может быть более стабильным,...