ищу php функцию

12
leo3331
На сайте с 07.01.2007
Offline
154
677

Здравствуйте.

В общем нужна функция в которую вписав md5 хеш, и диапазон к примеру от 1 до 43 будет постоянно получаться одно и тоже число.

Число может поменяться в этом диапазане только если хеш будет другим.

Есть решения такие?

LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#1

Нифига не понятно, что вам нужно.

Пример дайте.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
leo3331
На сайте с 07.01.2007
Offline
154
#2

Вот есть набор букв и цифр - "ew8g566erg346j47j36k8"

Нужно написать в функцию -

function("ew8g566erg346j47j36k8", 1, 43);

эта функция должна генерить по хеш коду "ew8g566erg346j47j36k8" число в диапазоне от 1 до 43

Сколько бы не выводил результат этой функции результат должен быть один и тот же, к примеру 23.

Но если в хеш коде я поменяю хоть одну букву или цифру, то сразу же результат будет совершенно другой.

LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#3

Офигеть вы травку курите :)

Базу данных создайте, в которой будет храниться хэш и рандомное значение присвоенное ему.

---------- Добавлено 27.01.2013 в 17:10 ----------

1. функция, которая будет этот хэш и число обновлять

2. функция, будет из БД это число брать

leo3331
На сайте с 07.01.2007
Offline
154
#4
LEOnidUKG:
Базу данных создайте, в которой будет храниться хэш и рандомное значение присвоенное ему.

Нет бд не нужно, надо на лету

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#5

LEOnidUKG, да 100 за 200 это наш земляк с Чу. Но чет странно, там еще не сезон, видимо прошлогодние запасы выбрасывать жалко, решил - "че добру то пропадать".

leo3331, я могу Вам такое написать. Но чтобы до такого додуматься мне надо в Вашем состоянии быть. Овес нынче дорог, так как я уже сказал - не сезон. Так что 100$, и то, только из любви к искусству:)

Подпись))
LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#6
leo3331:
Нет бд не нужно, надо на лету

Есть чумовая идея :)

Обязательно это условия, этого "от до", может быть достаточно сколько цифор должно быть.

1,2,3

SI
На сайте с 03.12.2007
Offline
130
#7

Взять хеш поменьше, отмаштабировать, округлить

ceil(43 * (crc32("ew8g566erg346j47j36k8") + pow(2,31)) / pow(2,32));'

-= Онлайн сервисы =-
LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#8

Ну вот :)

Чисто от делать нечего хехех.

function chuma($md5,$min,$max)

{

$r=0;

$md5=preg_replace('@[a-z]@smi','',$md5);

if ($md5[0]==0) {$md5[0]=$md5[1];}

$r=round(($max/$md5[0])+$min+$md5[count($md5)]);

return $r;

}

gormarket
На сайте с 29.12.2010
Offline
47
#9

Функция mt_rand

int mt_rand ([int min, int max])

если до этого инициализировать ее одним и тем же числом дает каждый раз одинаковый результат при использовании одинакового диапазона.

Инициализация делается функцией mt_srand

void mt_srand (int seed)

Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями mt_srand(), поскольку теперь это происходит автоматически.

В документации сейчас не нашел упоминания о таком поведении генератора случайных чисел, просто в VB пользовался подобным эффектом.

Используя PHP 4.4.4 проверил сейчас такой пример

$int=12843864381;

mt_srand($int);

print mt_rand(1,43).'<br>';

print mt_rand(1,43).'<br>';

mt_srand($int);

print mt_rand(1,43).'<br>';

Всегда выдает одинаковый результат

26

3

26

(если сменить начальное число или диапазон, то результат будет другим, но постоянным при данных условиях)

Не знаю будет ли такой же результат в других условиях (другая машина или другая версия PHP).

Если результат будет стабильным этот эффект можно использовать для решения задачи ТС, нужно будет только реализовать преобразование строки хеша в целое число для инициализации генератора.

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#10

LEOnidUKG, Sigmo#ID, gormarket, Вы мне тут бизнес в купе с отдыхом обламали. С Вас 100$ господа😂

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий