Если вы когда-нибудь имели дело с Python, то скорее всего знаете, что выведет этот код - случайное число от 0 до 1. Вот, совершенно случайные числа: Но если мы добавим в код строчку random.seed(0), при каждом запуске будет одно и то же число. Почему? Дело в том что это "рандомное число" - псевдо рандомное, и вычисляется по некой математической формуле. По умолчанию "random.seed" принимает текущее время. Но когда мы устанавливаем random.seek то результат один и тот же. "Если это число вычисляется на основе времени, то через некоторое время эти числа начнут повторятся?" - скажите вы и будете абсолютно правы. Для простых задач - генерации случайного игрового уровня в игре к примеру этого достаточно. Но для систем шифрования это не подходит. Для большего понимания давайте рассмотрим простой пример: Напишем вот такой код, кратко объясню: Но в данном случае мы будем получать примерно одинаковые числа, для исправления этого мы увеличим значения a, c и m: Теперь наш код выводит каждый раз раз