Можно ли скрыть код содержимого функции javascript, я использую JSP
Я хочу скрыть такую функцию
function changePassword(){
var oldPassword = document.getElementById("oldPwd");
var newPassword = document.getElementById("newPwd");
var repeatedPwd = document.getElementById("newPwdRepeated");
//Ajax to BackEnd with encrypted data
}
Я хочу скрыть процесс шифрования, когда конечный пользователь использует Dev Tools в браузере.
Извините за мой английский
ваш лучший выбор - запутывание
Это не возможно.
Пока существует предложение скрыть программную проверку функций, ничто не мешает пользователю изучить исходный код вручную.
Если программная логика работает на клиентской машине, клиенту должен быть каким-то образом отправлен исходный код этой логики - любой достаточно решительный сможет его найти. Единственный способ скрыть такую реализацию от клиента — вообще не отправлять ее клиенту.
Хотя вы могли бы попытаться сделать процесс более безопасным, создав собственную реализацию SSL-шифрования, было бы гораздо разумнее и безопаснее просто требовать все соединения через HTTPS — предоставьте браузеру и серверу автоматическое шифрование и расшифровку сообщений. безопасно. Если соединение защищено, вам не придется беспокоиться о том, что пароль будет перехвачен кем-то посередине — если только браузер клиента не скомпрометирован или если сеть/ОС клиента не скомпрометирована (и в таких случаях безопасная связь довольно проста). во всяком случае невозможно).
AFAK, код JS интерпретируется в браузере пользователя, поэтому это «общедоступный» скрипт.