php строка хэш-формы в целое число
имеет ли PHP встроенную функцию для выполнения строки с целочисленными хэшами, что трудно отменить?
теперь, я знаю, что я, вероятно, могу уйти от выполнения md5 и рассматривать его подстроку как число radix 16, но я ищу что-то встроенное.
спасибо.
3 ответов
Я думаю, что лучший вариант выбрал бы стандартный хэш [либо md5()
или sha1()
] чтобы получить хэш вашей строки, а затем получить целочисленный хэш, в base_convert($hash, 16, 10)
и это должно преобразовать ваш хэш в целочисленный хэш.
надеюсь, я правильно понимаю вашу проблему.
Я думаю, что вы на правильном пути в подходе к этой проблеме в два шага.
во-первых, вы, вероятно, должны придерживаться хэша md5, чтобы выполнить ваше требование "трудно отменить".
во-вторых, вы можете взять вывод md5 в качестве входных данных для функции "преобразовать это в целое число".
во второй части, что именно вы собираетесь делать? Это есть быть целым числом? Или просто печатные символы? если вы просто хотите преобразуйте свой хэш в то, что вы можете хранить в базе данных, передавать по проводу или по какой-либо другой причине строка md5 не будет работать, функция convertuuencode может работать для вас:http://us.php.net/manual/en/function.convert-uuencode.php
другой окольный хакерский подход состоял бы в том, чтобы получить двоичное значение вашего хэша и преобразовать его в десятичное, используя:http://us.php.net/manual/en/function.bindec.php хотя, я никогда не пробовал это и am не уверен, что это сработает так, как ты хочешь.
Я не думаю, что вы найдете что-нибудь для этого, но ваша идея с md5()
довольно хорошо, на самом деле. Я не мог себе представить, зачем вам нужно что-то еще: не может быть быстрее, не может быть стабильнее ...