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