htpasswd 생성기
Apache htpasswd 비밀번호 해시를 온라인으로 생성. bcrypt, MD5(APR1), SHA1, 평문 지원. 모든 해싱이 브라우저에서 처리되어 비밀번호가 전송되지 않습니다. 무료, 회원가입 불필요.
사용 방법
- 사용자 이름과 비밀번호를 입력하거나, 생성을 클릭하여 임의의 비밀번호를 만듭니다.
- 알고리즘을 선택합니다(bcrypt 권장).
- bcrypt를 사용하는 경우 비용 인수를 조정합니다(높을수록 안전하지만 느림).
- htpasswd 줄 생성을 클릭합니다.
- 결과를 복사하여
.htpasswd파일에 추가합니다.
알고리즘 비교
| 알고리즘 | 형식 접두사 | 보안 | 설명 |
|---|---|---|---|
| bcrypt | $2y$ | 우수 | 모든 새 배포에 권장 |
| MD5 (APR1) | $apr1$ | 보통 | 솔트가 있는 Apache 전용 MD5 변형 |
| SHA1 | {SHA} | 약함 | 솔트 없음, 레인보우 테이블에 취약 |
| 평문 | (없음) | 없음 | 테스트 전용 — 프로덕션에서는 절대 사용 금지 |
Apache 구성 예시
# .htaccess
AuthType Basic
AuthName "제한 구역"
AuthUserFile /path/to/.htpasswd
Require valid-user
일괄 모드
일괄 모드 섹션에 여러 user:password 쌍을 한 줄에 하나씩 입력하고 일괄 생성을 클릭하면 전체 .htpasswd 파일을 한 번에 생성할 수 있습니다.
보안 참고사항
.htpasswd파일은 항상 문서 루트 외부에 저장하여 직접 접근이 불가능하도록 하세요.- 프로덕션 서버에는 비용 인수 10 이상의 bcrypt를 사용하세요.
- 비밀번호가 유출된 경우 즉시 해시를 재생성하세요 — bcrypt 해시는 역산할 수 없습니다.
FAQ
htpasswd 파일이란 무엇인가요?
htpasswd 파일은 Apache HTTP Server(와 모듈을 통한 nginx)가 HTTP 기본 인증을 위해 사용자 이름과 해시된 비밀번호 쌍을 저장하는 데 사용합니다. 각 줄의 형식은 username:hashed_password입니다.
어떤 알고리즘을 사용해야 하나요?
bcrypt(기본값)를 추천합니다. 구성 가능한 비용 인수로 무차별 대입 공격을 효과적으로 늦추는 가장 안전한 옵션입니다. MD5(APR1)는 널리 사용되지만 보안이 약합니다. SHA1과 평문은 안전하지 않으므로 새 환경에서는 피해야 합니다.
bcrypt 비용 인수란 무엇인가요?
비용 인수(4–12)는 계산 라운드 수를 제어합니다. 값이 높을수록 계산 시간이 길어져 무차별 대입 공격 비용이 증가합니다. 기본값 10은 보안과 서버 성능 사이의 좋은 균형입니다.
비밀번호가 서버로 전송되나요?
아니요. bcrypt를 포함한 모든 해싱은 브라우저의 JavaScript에서 완전히 처리됩니다. 비밀번호는 이 페이지를 벗어나지 않습니다.
일괄 모드는 무엇인가요?
일괄 모드에서는 여러 user:password 쌍의 htpasswd 줄을 한 번에 생성할 수 있습니다. 콜론으로 구분된 쌍을 한 줄에 하나씩 입력하고 일괄 생성을 클릭하세요.
생성된 htpasswd 줄을 어떻게 사용하나요?
생성된 줄을 복사하여 .htpasswd 파일에 추가하거나 파일 내용으로 사용하세요. Apache에서는 AuthUserFile로 파일을 지정하고 AuthType Basic을 설정합니다.