.htpasswd
# .htpasswd

.htpasswd es un modelo de tabla usado para almacenar nombres de usuarios y contraseñas para una autenticación de acceso básica en un servidor HTTP Apache. El nombre del archivo se da en la configuración de .htaccess, y puede ser cualquiera si bien ".htpasswd" es el nombre canónico. El nombre del archivo comienza con un punto, porque la mayoría de los sistemas operativos tipo Unix-like consideran que cualquier archivo que comienza con el punto se oculta. Este archivo se mantiene a menudo con la consola de comandos "htpasswd" que puede agregar, eliminar y actualizar los usuarios, y codificará adecuadamente la contraseña para su uso (de manera que es fácil comprobarlo, pero no devuelde a la contraseña original).

## Estructura

El archivo consta de filas, cada fila corresponde a un nombre de usuario, seguido de dos puntos, seguido de una cadena que contiene la contraseña con algoritmo hash opcionalmente antepuesto por un especificador de algoritmos y/o salt. El hash utilizado históricamente es "Unix crypt" que usa estilos con alternativas como MD5 que es predeterminada.

Los recursos desde el servidor HTTP de Apache se puede limitar únicamente a los usuarios listados en el archivo .htpasswd. El archivo también puedes ser utilizado para proteger todo el directorio que se coloca en él, así como los archivos particulares.

### Consideraciones de seguridad

Los archivos de contraseñas tales como los gestionados por htpasswd no deben estar en el espacio de nombres URI del servidor web, es decir, que pueda ser enlazado desde un navegador. El uso de la opción -b, ya que cuando es usado aparece la contraseña sin cifrar en la línea de comandos.

Cuando se usa el algoritmo crypt, se tiene en cuenta que únicamente los primeros ocho caracteres de la contraseña se usan para formar la contraseña, si la contraseña suministrada es más larga, los caracteres adicionales serán descartados silenciosamente.

