Solo con MD5 o SHA1 la protección seria algo débil, quedaría expuesto a un ataque a través de rainbow tables, seria mejor un doble hash + salt, algo así:
Y habría que tener en cuenta también la ubicacion del servidor de bbdd, si esta en otro servidor y la conexión no es segura se podría obtener el hash, en esta caso seria mejor buscar el usuario y luego comparar el password.
Saludos.