최고의 보안을 위해 bcrypt를 선택하세요. 구버전 Apache 형식만 지원하는 서버라면 MD5-APR을 사용하세요. SHA1은 레거시 형식으로 새 설정에는 권장하지 않습니다.
2. 자격증명 입력
사용자명과 비밀번호를 입력하세요. "사용자 추가" 버튼으로 여러 사용자를 추가하면 한 번에 모든 항목을 생성할 수 있습니다.
3. 생성 및 복사
생성 버튼을 클릭하고 결과를 복사하세요. 각 줄은 사용자명:해시 형식의 .htpasswd 항목입니다.
4. 서버에 배포
출력 내용을 .htpasswd 파일로 저장하고 Apache 또는 Nginx 설정에서 참조하세요. 이 파일은 웹 루트 외부에 보관하세요.
자주 묻는 질문
.htpasswd 파일은 사용자명과 해시된 비밀번호 쌍을 한 줄씩 저장하는 텍스트 파일입니다. Apache와 Nginx는 이 파일을 사용해 HTTP 기본 인증(Basic Auth)을 적용하며, 보호된 콘텐츠에 접근하기 전에 방문자에게 사용자명과 비밀번호를 요구합니다.
새 설정에는 bcrypt가 가장 좋은 선택입니다. 설계상 느리게 동작해 무차별 대입 공격을 실용적으로 불가능하게 만들며, Apache 2.4+와 Nginx(bcrypt 지원 PAM 백엔드)에서 지원됩니다. MD5-APR($apr1$)은 광범위하게 지원되지만 보안이 약합니다. SHA1은 레거시 형식으로 새 환경에는 피하세요. 평문은 프로덕션에서 절대 사용하면 안 됩니다.
네. 비용 인자(cost factor) 10의 bcrypt는 해시 검증에 약 100ms가 소요되어 자동화된 크리덴셜 스터핑 공격을 극도로 느리게 만듭니다. Apache 2.4+는 AuthType Basic + AuthUserFile 조합으로 bcrypt를 기본 지원합니다. 단, Nginx는 기본적으로 bcrypt 해시를 검증하지 않으므로 bcrypt 지원 PAM 모듈이나 리버스 프록시 인증 솔루션이 필요합니다.
Nginx는 MD5-APR과 SHA1을 기본 지원합니다. bcrypt 지원이 필요하면 libnginx-mod-http-auth-pam 패키지를 설치하고 PAM을 설정하세요.
아닙니다. 이 도구는 완전히 브라우저 내에서 실행됩니다. 모든 해싱은 JavaScript를 통해 클라이언트 측에서 처리됩니다 — bcrypt는 bcryptjs 라이브러리, SHA1은 Web Crypto API, MD5-APR은 순수 JS 구현을 사용합니다. 어떠한 데이터도 전송되지 않습니다.