Есть сайт, который досадно не сохраняет пароли.
Мне пришлось создать этот небезопасный, незащищенный скрипт (который я запускаю с Greasemonkey), чтобы сохранить пароль:
// ==UserScript==
// @name example.comAutomation
// @include *example.com/*
// ==/UserScript==
if ( document.location.href == "https://subdomain.example.com/" ) {
document.querySelector("#x").value = "myEmail";
document.querySelector("#y").value = "myPassword";
document.querySelector("#z").click();
}
if ( document.location.href == "https://subdomain.example.com/overview" ) {
console.info(window.location.href);
document.location.href = "https://example.com/list"
}
Предполагая, что я не хочу использовать внешний программное обеспечение для управления паролями (PMS).
Как я могу каким-то образом защитить приведенный выше код с помощью хеширования в Greasemonkey?
Конечно, усиление защиты операционных систем - это хорошо.
Я не рассматриваю это как повторяющийся вопрос, поскольку OP попросил использовать хеширование для безопасный кода. Фреймворк в предложенном ответе не использует хеши и небезопасен, поскольку хранит зашифрованные имя пользователя и пароль в том же месте, что и ключ шифрования. Это означает, что учетные данные могут быть легко расшифрованы злоумышленником, который может либо злонамеренно изменить сценарий, либо получить доступ к хранилищу индексированной БД, где Greasemonkey 4 хранит все свои сценарии и данные (например, через about:debugging в последних версиях Firefox).
Я не могу добавлять ответы, поскольку вопрос заблокирован, но лучшим решением было бы зашифровать пользовательский скрипт и сохранить сами учетные данные с использованием более запоминающейся парольной фразы в качестве ключа, но сохранить хэш этого ключа, а не сам ключ. Хэш используется для проверки правильности ввода парольной фразы, но не может использоваться для расшифровки самостоятельно. В качестве альтернативы, если вы доверяете встроенному диспетчеру паролей Firefox, попросите пользовательский скрипт добавить новую форму входа на страницу, используя простой HTML. Затем Firefox предложит сохранить сами учетные данные и сохранить их в зашифрованном виде под своим главным паролем.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Повторяющийся ответ должен быть немного скорректирован для GM4, но у вас будет в любом случае умнее переключиться на Tampermonkey.