Безопасно ли хранить данные аутентификации в открытом виде, для БД MySQL?
Пароли и другие чувствительные данные можно передавать через переменные окружения. Доступ к переменным окружения имеет только само приложение посредством веб-сервера (с правами пользователя, из-под которого он запущен). Например вот так (Linux).
В говносистемах, коих львинная часть - делают именно так.
Шифовать, если у вас что-то вроде PHP/Python/NodeJS, где есть исходных текст на сервере - совершенно бессмысленно, ведь код расшифровки остается на том же сервере.
Если уж все равно хотите шифровать - лучше воспользоваться готовыми серьезными библиотеками. Сделать свой стойки шифр - не просто. Впрочем, учитывая, что вряд ли вас кто будет так серьезно ломать - можно и самому ради любопытства. Надеюсь, вы не платежную систему проектируйете.
В серьезных система делают не так как вы написали, а несколько иначе:
https://12factor.net/ru/