@UnFox

Как сделать настоящий рандом?

Есть ли у кого функция настоящего рандома, со сложным алгоритмом, что бы нельзя было угадать?
  • Вопрос задан
  • 2321 просмотр
Пригласить эксперта
Ответы на вопрос 8
gobananas
@gobananas
finishhim.ru
random_int — Генератор криптографически безопасных случайных целых чисел
Комбинации любые с random_int() делайте если вам что-то посложнее числа из диапазона нужно и всё
Ответ написан
Комментировать
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Любое событие не случайно. Так что руководствуясь вашей логикой зная состояние каждой частицы вселенной можно со стопроцентной вероятностью предсказать значения генератора случайных чисел. Так что вам это в другую вселенную надо, а не на тостер.
Ответ написан
Комментировать
Комментировать
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Нет таких алгоритмов они все будут псевдо рандомом.

https://www.random.org/
Единственный рандом настоящий есть тут, правда по факту очень даже хз правда это или нет.
Суть в том что случайность определяется "шумом" космоса/атмосферы.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Берите любые 2 потока постоянно изменяющихся независимых друг от друга данных и делайте между ними любую операцию. Результат операции и будет рандом.
Например, кол-во переданного трафика и кол-во принятого трафика с любой операцией дадут точно непредсказуемое значение. Для верности - можно и таймер задействовать (умножить на микросекунды или получить остаток от деления, например).
Ответ написан
Комментировать
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
Ну например каждый символ генерировать через:
рандом + время + перемешать это
и взять первый символ из полученного :)
Ответ написан
Комментировать
@artem78
Аппаратный генератор случайных чисел лучшее решение:
https://ru.wikipedia.org/wiki/%D0%90%D0%BF%D0%BF%D...
Ответ написан
Комментировать
@Barmunk
посмотрите UUID

UUID (universally unique identifier) — это стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений (Distributed Computing Environment (англ.)). Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Наиболее распространённым использованием данного стандарта является Globally Unique Identifier (GUID) фирмы Microsoft. Другими значительными пользователями являются Linux (файловая система ext2/ext3, LUKS шифрованные разделы, GNOME, KDE) и Mac OS X — все они применяют реализацию, полученную из библиотеки uuid, находящейся в пакете e2fsprogs.


Общее количество уникальных ключей UUID составляет 2\128 = 256\16 или около 3,4 × 10\38. Это означает, что генерируя 1 триллион ключей каждую наносекунду, перебрать все возможные значения удастся лишь за 10 миллиардов лет.

к примеру репа на php
https://github.com/ramsey/uuid
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы