Основная причина, по которой я спрашиваю об этом, заключается в том, что я пытаюсь установить безопасную связь между серверной частью и интерфейсом. Я хотел использовать шифрование AES, но я не хочу, чтобы ключ был раскрыт вообще. С шифрованием RSA я сталкиваюсь с той же проблемой, что закрытый ключ не скрывается, потому что он хранится во внешнем интерфейсе. Это можно обойти?
Вы можете использовать RSA для реализации этого «безопасно» (против всех пассивных злоумышленников), но без TLS / https и действующего сертификата сервера активный злоумышленник может запустить атаку MitM и взломать шифрование.



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


Если вы используете ключ во внешнем интерфейсе, он не может быть защищен, так как всегда требуется сделать вызов API для аутентификации сервера. Поэтому рекомендуется всегда защищать серверную часть, чтобы разрешать только отфильтрованный трафик и из разрешенных вами источников.
Если вы включите SSL для своего сервера (https), у вас уже есть безопасная связь. (также нет, невозможно скрыть материал в интерфейсе пользователя, за исключением типичного материала обфускации сценария, но его всегда можно превратить обратно в читаемый исходный код)