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