Как правильно (безопасно) хранить пароли от сторонних сервисов в базе данных?
Вам нужна функция crypt
Вам нужна функция mcrypt_encrypt

Вот готовая реализация уже:
https://github.com/jamm/MVC/blob/master/src/Jamm/MVC/Models/Crypt.php
(ничего от себя не добавлено, всё стандартное)

Вообще, для доступа к сторонним сервисам без хранения пароля придуман OAuth - посмотрите, может у каких-то из этих сервисов есть такое. Токен можно использовать потом и автономно, без юзера.
У меня в закладках лежит старенький, но довольно интересный пост на Хабре как раз об обратимом шфировании по методу "двойного квадрата".