분류: 개발 도구

htpasswd 생성기

자체 기획 도구찾는 도구가 없나요?

Basic 인증 비밀번호 파일 항목을 로컬에서 생성

Apache htpasswd 줄을 브라우저에서 생성합니다. bcrypt로 Basic 인증 자격 증명을 만들고, 비밀번호를 서버로 보내지 않고 .htpasswd 항목을 복사하거나 내려받으세요.

한 단계 올릴 때마다 공격자가 들여야 할 작업량이 두 배가 되고, 이 페이지가 줄을 만드는 시간도 두 배가 됩니다. 대부분의 서버에는 10~12가 적당합니다.

htpasswd 줄
여기에 결과가 표시됩니다.

bcrypt는 비밀번호를 최대 72바이트까지만 읽고 그 뒤는 무시합니다. 이 페이지에서도, 여러분의 서버에서도 마찬가지입니다.

파일은 웹 루트 바깥에 저장하고 AuthUserFile이 그곳을 가리키게 하세요. 서비스되는 디렉터리 안의 .htpasswd는 다운로드될 수 있습니다.

비밀번호는 이 탭에서 해시됩니다. 어디로도 전송되지 않고 저장되지 않으며, 만들어진 줄도 마찬가지입니다.

이 페이지의 모든 처리는 브라우저에서 이루어집니다. 업로드는 없습니다.

이 도구로 할 수 있는 일

.htpasswd 파일은 `사용자:해시` 형태의 기록이 줄줄이 늘어선 단순한 목록으로, Apache의 Basic 인증이 로그인을 이것과 대조합니다. nginx도 auth_basic_user_file에서 같은 형식을 읽습니다. 이 페이지는 그 기록을 여러분의 기기에서 만듭니다. bcrypt 구현이 탭 안에서 돌기 때문에 비밀번호가 밖으로 나가지 않습니다. bcrypt를 기본값으로 삼은 이유는 의도적으로 느리고 항목마다 솔트가 붙기 때문입니다. 그것이 탈취된 파일을 깨는 비용을 비싸게 만듭니다. 비용 슬라이더는 그것을 얼마나 더 느리게 만들지 정하는 값입니다. SHA-1은 bcrypt를 받아들이기에는 너무 오래된 서버를 위해서만 제공하며, 솔트가 없고 빠르다는 사실을 선택하는 그 자리에 적어 두었습니다.

사용 방법

  1. 사용자 이름과 비밀번호를 입력하거나 임의 비밀번호를 생성하세요.
  2. bcrypt를 그대로 두고 비용을 고르세요. 대부분의 서버에는 10~12가 적당합니다.
  3. 줄을 복사하거나 .htpasswd 파일을 내려받아 웹 루트 바깥에 보관하세요.

개인정보

이 도구는 전부 브라우저 안에서 동작합니다. 입력한 내용은 업로드되거나 저장되거나 공유되지 않으며, 탭을 닫으면 사라집니다.

자주 묻는 질문

제 비밀번호가 업로드되나요?
아니요. 해시는 브라우저 탭 안에서 계산됩니다. 비밀번호, 솔트, 완성된 줄 어느 것도 전송되거나 기록되거나 저장되지 않습니다.
어떤 해시를 골라야 하나요?
서버가 정말로 지원하지 못하는 경우가 아니라면 bcrypt입니다. 항목마다 솔트가 붙고 일부러 느리기 때문에, 파일을 훔친 공격자는 추측 한 번마다 실제 시간을 써야 합니다. SHA-1 옵션은 솔트가 없고 빠르게 깨지며 호환성을 위해서만 존재합니다.
bcrypt 비용은 무엇을 하나요?
키 준비 라운드 수의 밑이 2인 로그값이라, 한 단계 올릴 때마다 작업량이 두 배가 됩니다. 공격자에게도, 로그인 시점의 서버에게도 마찬가지입니다. 보통 10~12가 균형점이고, 더 높이면 이 페이지의 처리도 눈에 띄게 느려집니다.
결과를 nginx에서 쓸 수 있나요?
네. nginx는 auth_basic_user_file에서 같은 파일 형식을 읽고 bcrypt 항목을 지원하므로, 여기서 만든 줄은 Apache와 nginx 모두에서 동작합니다.
파일은 어디에 두어야 하나요?
서버가 공개하는 디렉터리 바깥에 두고 AuthUserFile이 그 경로를 가리키게 하세요. .htpasswd가 서비스되는 폴더 안에 있으면 누구나 해시를 내려받아 오프라인에서 깰 수 있습니다.