Привет всем Помогите плиззззз Пытаясь что-то сделать из известных мне генераторов случайных чисел, я обнаружил, что это просто одинаковые последовательности, ну или почти одинаковые. Алгоритмы собственно и есть псевдо при делании из них например белого шума ничего не выходит. Услышал что можно не привязываяь к железу родить случайную последовательность (чисто математически). Есть какие-нибуть идеии? И ещё, трудность в том, что это не прост числа, а очень очень длинные числа, как например 100!
c_plus_plus: Что значит, "одинаковые последовательности"? Алгоритмы построены так, чтобы выдавать последовательности с заданным распределением (обычно как раз на белый шум ориентируются). А откуда начать отсчёт, это уже вопрос другого алгоритма. Обычно привязываются к таймеру и ещё каким-нибудь непостоянным аппаратным ресурсам.
Я пользовался стандартной библтотекой и ещё несколькими, какие попались. Но он что-то не получаеться. Сейчас у меня от случайных чисел зависет траиктория обьекта. Она почти одна и таже. Ну, например он должен выбирать путь к точке по разным, не похожим кривым, но так не получаеться. Когда записал несколько полследовательностей чисел и сравнил, они отличались всего несколькими числами (из 20 - 1, 2) CryptGenRandom - это от куда? А за статью спасибо, сча посмотрю
CryptGenRandom - это из Microsoft CryptoAPI srand(time()); использовать очень не безопасно, как и ГПСЧ. Если востановили\узнали одно значение ГПСЧ то все последующие и предыдущие высчитываются тривиально. А при иннициализации ГПСЧ текущем временем, очень легко атаковать шифр, если знать приблизительное время на хосте, с погрешностью +- 5 мин это получается 600000 возможных вариантов если time() возвращает с точностью до миллисекунды(или с точностью до секунды, я не уверен) Вывод юзай CryptoAPI, качественный rand при минимуме телодвижений. Или время от времени переинициализуй ГПСЧ данными которые нельзя предсказать (статистика сетевого трафик, движения мышкой, нажатия клавиатуры и т.п.)