pues creo que el articulo esta sencillo, eso de encriptar mas que todo se hace con las contraseñas, ya que los perfiles de usuarios se guardan normalmente como varchar, lo de tener un archivo con la funcion para conectar no es mala idea aunque mas que todo he leido que se usa es para no tener que volver a colocar los mismos parametros cada vez que tengas que hacer una conexion con la base de datos, sino que solo incluyes este archivo y llamas a esta funcion, para seguridad en base de datos creo que seria bueno que buscaras mas que todo informacion sobre como prevenir la
injeccion sql, y otros tipos de ataques que te puedan hacer por consultas, lo de fuera del root creo que es fuera de tu directorio donde tienes las paginas de tu sitio, espero que mi comentario te sirva