Эквивалентная автогорячая клавиша?

На самом деле последствие критериев расчета криптографического хеша (которым MD5 стремилась быть), что там не быть такой вещью.

При питании файла в идеальный 128-разрядный криптографический хеш Вы не можете предсказать ни один из 128 битов вывода (или их отношение друг к другу) кроме путем выполнения хеша. Если Вы можете, Вы на самом деле не получить 128-разрядный хеш. Например, если хеш имел бит четности (немного таким образом, что общее количество 1 с всегда нечетно [отрицательная четность] или всегда даже [даже четность]), затем у Вас на самом деле есть 127-разрядный хеш.

И чтобы удостовериться, что Вы случайно не генерируете допустимый хеш опечаткой, Вы захотите лучшее, чем 50/50 шанс обнаружения ее. Таким образом, Вы потеряли бы больше битов.

Проблема состоит в том, что Вы хотели 128-разрядный хеш по причине: дополнительный бит обычно удваивает работу, требуемую напасть на хеш.

Если бы дублирование является частью намеченного дизайна хеша, то это назвали бы 124-разрядным хешем с 4 битами CRC (и т.д.).. Если не предназначенный, то на самом деле частичный криптоанализ (повреждение) хеша.

Практическое решение

Так как Вы хотите найти опечатки, просто добавьте любую цифру контрольной суммы или контрольный разряд и запишите его рядом. Вы могли использовать что-то как Алгоритм perl:: Verhoeff для добавления контрольного разряда.

50
31.10.2014, 02:45
7 ответов

В Linux есть порт AutoHotkey в Linux Irelakk и аналогичный инструмент Autokey . Я тоже не использовал, я не знаю, насколько хорошо они работают.

Помимо таких программ, вы не найдете точно такие же инструменты автоматизации. Основной инструмент автоматизации пользователя на системах UNIX является оболочкой. Shell - это клей, который сочетает в себе другие инструменты: он может запустить внешние программы и контролировать, как они обмениваются данными. Сама раковина не включает ничего для манипулирования концепциями GUI, как Windows и указатель мыши. То, что вы делаете, это называют специализированными инструментами в сценарии оболочки, в частности XDOTOOL для манипулирования окнами, и введите клавишных клавиш и события мыши .

Например, следующий скрипт нажимает на позиции (40,20) в окне MyApp.

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

¹ , за исключением DTKHSH , но я никогда не видел его порта Linux.

31
27.01.2020, 19:33

Используйте AutohotkeyX, это недавний порт WINE для autohotkey, который, согласно тестированию winehq, делает все, что Autohokey может делать в Windows. Это лучший и самый простой ответ.

https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738

Я лично не проверял это, но результаты WINEHQ имеют тенденцию

3
27.01.2020, 19:33

...program your mouse movements and keyboard. This allows me to "macro" certain functions on programs instead of having to do it manually.

Kantu — это межплатформенный -инструментавтоматизации рабочего стола , который очень хорошо работает в Ubuntu (Я не тестировал его на других разновидностях)

The basic user automation tool on unix systems is the shell.

Ага. Но AHK и Kantu позволяют пользователю автоматизировать задачу внутри приложения, имитируя щелчки мыши и нажатия клавиш. Оболочка этого сделать не может. Я использую его для автоматизированных тестов, а также для повышения производительности.

Конечно, вы можете комбинировать канту с питоном или запускать его прямо из оболочки.

0
27.01.2020, 19:33

Загрузите Autohotkey для Linux. Создайте файл Autohotkey (example.ahk ). Используйте вино для запуска Ahk2Exe.exe из папки Autohotkey. Скомпилируйте файл example.ahk в файл example.exe. Используйте вино для запуска example.exe

0
27.01.2020, 19:33

Просто используйте XEV и XMODMAP. ПРОСТО и лучше, чем специальные программы или эмулировать дрянные приложения Windows. Все мои вещи с LINUX используют сценарии для переопределения клавиши и изменить режимы экрана, а затем, когда программа завершится и выйдет, верните все в норму. Использовать XMODMAP так же просто, как и сделать сценарий, как сделать сценарий AHK, но с дополнительным бонусом не нужно запускать эмулированное приложение Windows.

-3
27.01.2020, 19:33

Этому посвящено несколько проектов. Двумя наиболее активными, насколько мне известно, являются sikuli и AutoKey(проект, который я помогаю поддерживать.)

Я не использовал сикули, но похоже, что он основан на поиске паттернов на экране и запуске действий на их основе.

AutoKey позволяет пользователю определять триггерные фразы и горячие клавиши, которые расширяют фразы (аналогично очень мощной функции автозамены )или запускают сценарии, написанные на Python3, которые ограничены только навыками программирования пользователя. Он предоставляет API для генерации событий клавиатуры и мыши. Он также интегрируется с Xautomation, который позволяет найти небольшое изображение на экране и подвести к нему курсор мыши.

Я использую AutoKey уже много лет и поддерживаю его в нашем списке . Это похоже на ряд инструментов повышения производительности :, без которых можно обойтись, но как только вы начнете их использовать, вы удивитесь, как раньше обходились без них.

Некоторые особенности:

AutoKey не работает с определениями и сценариями AutoHotKey. Их придется переписывать.

Я написал тестовый bash-скрипт (, доступный по запросу ), который переводит фразы AutoHotKey в фразы AutoKey, но это только отправная точка, игнорирующая большинство опций AutoHotKey.

Поскольку сценарии AutoKey написаны на языке Python3, можно также вызывать из сценария такие инструменты, как xdotool и wmctrl, для предоставления дополнительных функций, но обычно в этом нет необходимости. Хотя скрипты AutoKey написаны на Python, очень многое можно сделать, обладая очень ограниченными знаниями Python. Вам не нужно быть беглым программистом на Python для большинства целей.

Если вы используете дистрибутив на основе Debian -, не устанавливайте версию AutoKey, предоставленную вашим дистрибутивом. Их пакет AutoKey не поддерживается и очень стар. Получите текущую версию от нас . Изменить :Это было исправлено при тестировании Debian и производных версий в 2020 году. Теперь они предлагают самую последнюю версию.

7
27.01.2020, 19:33

Вот нубское решение для таких нубов, как я:

Большинство окружений рабочего стола (DE )включают встроенный -редактор сочетаний клавиш. Используя редактор ярлыков, вы можете писать пользовательские сценарии bash, консольные команды и т. д.

Чтобы получить функциональность, подобную AHK -, помимо того, что делает ваше DE возможным с помощью пользовательских ярлыков, установите xdotool(sudo apt install xdotool)и напишите свои команды xdotool в редакторе ярлыков (, если у вас есть варианты для нескольких типов ярлыков, выберите опцию «команда»):

xdotool [command]

(Введите man xdotoolв терминале, чтобы получить доступ к руководству xdotool.)

Если вы используете xdotool для расширения пользовательских сочетаний клавиш, рекомендуется ввести команду в терминале, прежде чем назначать ее в качестве горячей клавиши, просто чтобы убедиться, что она работает должным образом.

Мне еще предстоит выяснить, как получить AHK -как строки быстрого доступа в Linux, но я обновлю, если найду работоспособное решение.

3
20.08.2020, 13:25

Теги

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