mm pues los .htpasswords y .htaccess .. no son cosa de "PHP" .. son de tu servidor HTTP .. concretamente de Apache.
Tienes algunas utilidades (incluso escritas en PHP) para generar esos archivos (y sus datos) ...
Por google me salío está utilidad "en linea" para generar tus passwords:
http://www.euronet.nl/~arnow/htpasswd/
(ahí tienes algo de documentación .. Al parecer usa MD5() para la contraseña .. pero ahí no te lo puedo asegurar .. Consulta el manual oficial de Apache mejor.)
Un saludo,