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()
довольно хороша. Я не мог себе представить, зачем вам нужно что-то еще: не может быть быстрее, не может быть более стабильным,...