Невозможно полностью защитить ключ, если вы не доверяете среде, в которой выполняется код. Вы можете хранить (часть) ключа в надежном расположении и принимать запросы на ключ только от домена / IP вашего приложения. Но тогда он все еще будет в памяти экземпляра этого устройства.
Лучшее решение для исходящих сообщений - использовать криптографию с открытым ключом. Позвольте вашему коду использовать открытый ключ удаленной стороны, поскольку его не нужно хранить в секрете. Затем его можно расшифровать только с помощью закрытого ключа пульта.
Если вы не можете доверять среде приложения, вы не сможете расшифровать входящие сообщения с открытым ключом, поскольку для этого потребуется доступ к вашему секретному ключу.
Изменить: Поскольку вы добавили, что хотите защитить некоторые поля базы данных, задумывались ли вы о хэшировании их?