- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
В общем нужна функция в которую вписав md5 хеш, и диапазон к примеру от 1 до 43 будет постоянно получаться одно и тоже число.
Число может поменяться в этом диапазане только если хеш будет другим.
Есть решения такие?
Нифига не понятно, что вам нужно.
Пример дайте.
Вот есть набор букв и цифр - "ew8g566erg346j47j36k8"
Нужно написать в функцию -
function("ew8g566erg346j47j36k8", 1, 43);
эта функция должна генерить по хеш коду "ew8g566erg346j47j36k8" число в диапазоне от 1 до 43
Сколько бы не выводил результат этой функции результат должен быть один и тот же, к примеру 23.
Но если в хеш коде я поменяю хоть одну букву или цифру, то сразу же результат будет совершенно другой.
Офигеть вы травку курите :)
Базу данных создайте, в которой будет храниться хэш и рандомное значение присвоенное ему.
---------- Добавлено 27.01.2013 в 17:10 ----------
1. функция, которая будет этот хэш и число обновлять
2. функция, будет из БД это число брать
Базу данных создайте, в которой будет храниться хэш и рандомное значение присвоенное ему.
Нет бд не нужно, надо на лету
LEOnidUKG, да 100 за 200 это наш земляк с Чу. Но чет странно, там еще не сезон, видимо прошлогодние запасы выбрасывать жалко, решил - "че добру то пропадать".
leo3331, я могу Вам такое написать. Но чтобы до такого додуматься мне надо в Вашем состоянии быть. Овес нынче дорог, так как я уже сказал - не сезон. Так что 100$, и то, только из любви к искусству:)
Нет бд не нужно, надо на лету
Есть чумовая идея :)
Обязательно это условия, этого "от до", может быть достаточно сколько цифор должно быть.
1,2,3
Взять хеш поменьше, отмаштабировать, округлить
ceil(43 * (crc32("ew8g566erg346j47j36k8") + pow(2,31)) / pow(2,32));'
Ну вот :)
Чисто от делать нечего хехех.
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;
}
Функция 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).
Если результат будет стабильным этот эффект можно использовать для решения задачи ТС, нужно будет только реализовать преобразование строки хеша в целое число для инициализации генератора.
LEOnidUKG, Sigmo#ID, gormarket, Вы мне тут бизнес в купе с отдыхом обламали. С Вас 100$ господа😂