Чтение из dev/urandom -поведение системы

Если файлы имеют общие строки в одном порядке,

join -t, -j1 file1.txt file2.txt

Пояснение

Для получения дополнительной информации см. man join. По сути, joinдва файла, пропуская «непарные строки». Разделителем является запятая -t,и соединение в поле 1 -j1.

6
25.08.2020, 00:07
2 ответа

/dev/urandom — это символьное устройство, а не обычный файл. Его открытие предоставляет интерфейс для драйвера, обычно в ядре, который обрабатывает чтение; каждый раз, когда программа читает из /dev/urandom, выполняется вызов драйвера, и драйвер определяет, как предоставить соответствующий контент (так же, как и любое другое символьное устройство — /dev/null, /dev/zero... ).

В Linux это реализовано вdrivers/char/random.c. Он поддерживает «энтропийный пул», полученный из различных источников случайных данных, и при чтении обрабатывает данные пула с помощью потокового шифра ChaCha для создания возвращаемых данных.

13
18.03.2021, 23:10

/dev/urandomне является «обычным файлом» (да, это наименование POSIX ), это устройство. Так же, как и большинство «файлов» в /dev/, так что у вас есть много волшебного поведения.

  • У вас есть /dev/null, где сколько ни пиши, никогда не заполнится
  • У вас есть random/urandom/srandom, каждый раз случайным образом предоставляя разные данные
  • У вас есть/dev/tty(и коллеги ), где вы взаимодействуете с терминалом
  • У вас есть /dev/full, который всегда возвращает «На устройстве не осталось места» при любой попытке записи
  • У вас есть /dev/zero, который возвращает бесконечный набор нулевых байтов

и многие другие.

Эти файлы на самом деле являются интерфейсом для взаимодействия с модулем ядра. Таким образом, когда вы «читаете» его, на самом деле выполняется функция, которой предлагается прочитать как можно больше байтов вашей программы (head, dd и т. д. )запрошенный(/dev/urandom— это символ устройство ). Затем эта функция обрабатывает его внутренне (на основе нескольких пулов энтропии ), чтобы заполнить этот буфер (в данном случае, чтобы вы получили псевдослучайное содержимое ).

8
18.03.2021, 23:10

Теги

Похожие вопросы