Почему подсчет повторяющихся чисел из /dev/urandom выполняется одинаково во всех системах?

Я отказался от showkeyи переключился на xev.

xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt

Это дает мне журналы, которые выглядят как:

KeyRelease event, serial 18, synthetic NO, window 0x260000a,
    root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyPress event, serial 18, synthetic NO, window 0x260000a,
    root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyRelease event, serial 21, synthetic NO, window 0x260000a,
    root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

Затем я использую php, потому что у меня есть опыт работы с php, чтобы получить метку времени, нажатие клавиши и KeyReleaseили KeyPress.

Затем я использую xdotoolдля отправки нажатий клавиш, но это отдельная вещь.

Наверное, я могу обойтись и без xdotool, но... не стал.

0
08.04.2021, 09:13
1 ответ

Одно слово :восьмеричное.

odпечатает от 000000до 177777, где цифры 0..7. Эти строки представляют собой просто два -байтовых значения, закодированных по-разному. Различная кодировка не меняет того факта, что существует 65536 возможностей. Из достаточно большого случайного набора данных вы получите их все.

Даже если считать "по цифре", всё влезет; вам просто нужно сделать это правильно, в восьмеричном формате. Ваша попытка:

Amount of possible numbers: 100000 (because 00000-99999)

предполагает десятичное число. Правильный метод такой:

  • Первый символ 0или 1, (2 варианта ).
  • Тогда есть 5 символов 0..7, (8 возможностей для каждого символа ).

2 x 8 5 = 2 16

0
28.04.2021, 22:53

Теги

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