LINUX.ORG.RU
решено ФорумTalks

нужны случайные числа

 


0

1

просьба отписать тему 400 разных чисел, целых, положительных, желательно от разных пользователей форума, зарегистрированых вчера или ранее

что бы не захламлять форум - можно в одном посте несколько чисел написать

★★★★★

Последнее исправление: linuks (всего исправлений: 1)

Ответ на: комментарий от crutch_master

За один вызов - одно число. И не важно через какой интервал, атомарно или раз в секунду. Пусть будет в пределах от 0 до 20к на 10к вызовов.

deep-purple ★★★★★
()
Ответ на: комментарий от crutch_master

Мне надо было в задаче делать без повторов, поэтому я цеплялся за таймстамп, как нечто не повторяющееся и производил с ним манипуляции для имитации случайностей в некотором диапазоне чисел для достаточного временнОго промежутка.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

А это же всеравно псевдо случайное число?

Нет. Оно собирает энтропию из физического мира. Интервалы между приходами пакетов по сетевой карте, интервалы между нажатиями клавиш, времена выполнения запросов жестким диском, шум со встроенного в CPU датчика (если есть), и тому подобное. http://lwn.net/Articles/261804/

И повторы между запусками возможны.

Смотря в каком смысле. Иногда оно может печатать повторяющиеся числа (и это абсолютно нормально для ГСЧ). Но добиться, чтобы оно дважды распечатало одну и ту же более-менее длинную последовательность чисел — практически нереально.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Но добиться, чтобы оно дважды распечатало одну и ту же более-менее длинную последовательность

Еще бы этот длинный список запаковать во что-то простое однострочное а-ля base62. Надо будет поковыряться..

deep-purple ★★★★★
()
Ответ на: комментарий от Manhunt

Та все просто - за короткий промежуток времени создается большое кол-во картинок. И нужна защита от подбора по имени файла - они доступны по прямой ссылке. Цепляться за их айдишники в БД было бы вообще смешно.

deep-purple ★★★★★
()

745387645657433457854137562071235681373156781556375671535615781341574170008611661701284126112134563318176548234789769799809890111065556346444845723654556456645635698968989034589034896890346

JN
()
Ответ на: комментарий от deep-purple

1. Выбери какую-нибудь строку, и храни её в секрете. Например, «Eel0uphi». Строка будет одна на вообще все картинки, лучше всего получить её от утилиты pwgen. Невозможность узнать (либо подобрать по словарю) эту строку — залог твоей защиты.

2. Id картинки из БД присоедини к строке. Например, «Eel0uphi.43254». Id тоже лучше наружу не показывать. Но даже если утечет — большой драмы в этом не будет.

3. Возьми md5sum в качестве имени файла. Например

    $ echo -n Eel0uphi.43254 | md5sum 
0fac88503b55696a6d9b2dfe59000abb -


Всё. Без хорошего спеца по криптографии шансов разгадать это нет совсем никаких.

Manhunt ★★★★★
()
Ответ на: комментарий от deep-purple

Ну или просто выхлоп pwgen использовать в качестве имён, если не нужна связь с id-шниками.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Значит предлагаешь тупо засоленный хеш? Прекрасный вариант, и чот я про него забыл. Ну а с рандомами совсем никак? Хотябы ради спортивного интереса.

deep-purple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.