Информация о завершении редактирования текста редактируется

Как я узнаю, что мой текст редактирования закончен? Например, когда пользователь выбирает следующее поле или нажимает кнопку «Готово» на виртуальной клавиатуре.

Я хочу знать это, чтобы я мог ограничить ввод. Похоже, что afterTextChanged наблюдателя за текстом происходит после ввода каждого символа. Мне нужно выполнить некоторые вычисления с вводом, поэтому я бы не хотел выполнять вычисления после ввода каждого символа. Мне нужно будет периодически входить в систему и выполнять некоторые задачи по обслуживанию. К сожалению, сервис не предлагает токены авторизации, поэтому мне (очень опасаясь) приходится хранить пароли таким образом, чтобы я мог получить доступ к их значениям в виде обычного текста. Я не владею и не контролирую службу, для которой я выполняю аутентификацию, и единственный способ - «заимствовать» имя пользователя и пароль и пройти аутентификацию.

Я планирую использовать AES_ENCRYPT для паролей в БД, что означает, что если кто-то каким-то образом может получить доступ к БД, он не сможет получить открытый текст. Однако мой код должен иметь доступ к ключу, чтобы расшифровать их, поэтому, если весь сервер будет скомпрометирован, это не защита, и пароли будут раскрыты.

Помимо вышеописанного шифрования, есть ли какие-либо передовые методы или шаги, которые я могу предпринять, чтобы сделать это максимально безопасно?

РЕДАКТИРОВАТЬ

Я знаю, что что бы я ни делал, в конечном итоге пароли должны быть доступны в виде открытого текста, и поэтому скомпрометированный сервер означает, что пароли будут раскрыто, но мне интересно, какие шаги я могу сделать, чтобы уменьшить свой риск. EG, шифрование БД защищает меня в ситуации, когда БД скомпрометирована, но не весь сервер. Было бы очень полезно принять другие подобные меры по смягчению последствий.

11
задан Community 23 May 2017 в 12:23
поделиться