Не храните пароли вообще - просто соленые их хэши.
Проблема с простым шифрованием пароля довольно очевидна - вам нужно где-то хранить ключ. Если вы выполняете шифрование на стороне клиента, я просто использую Reflector, чтобы найти ключ в коде, или присоединяю отладчик и жду, пока клиент получит ключ от сервера.
Если вы выполните шифрование на сервере, вам будет сложнее получить ключ - но каждый, у кого есть доступ к серверу, может использовать те же методы, которые упоминались ранее, потому что вам все равно нужно где-то хранить ключ. Разумеется, вы должны зашифровать соединение между клиентом и сервером, иначе атака станет тривиальной.
И перемещение шифрования на сервер базы данных не сильно изменится, и вам придется шифровать оба соединения - между клиентом и сервером и между сервером и сервером базы данных.
Я предлагаю выполнить шифрование на сервере, потому что иначе вы должны доверять клиенту. Это, конечно, требует безопасного соединения между клиентом и сервером. Соединение между сервером и сервером базы данных может быть незашифрованным.