перенес в nginx apr_md5_encode - в апаче для htpasswd используется более хитрая штука, чем binary_to_hex(md5(passwd)). Не могу сказать, что _понимаю_ - что он делает и зачем. Это пугает. Но кажется, в моей интерпретации оно даже работает =)