동일한 사용자 이름과 동일한 비밀번호의 경우에도 httpasswd가 매번 새로운 해시를 출력하는지 궁금합니다. 이 질문에 대한 답을 찾으려고했지만 시도 할 수 없었습니다.다른 출력, 동일한 사용자 이름 및 비밀번호
14
A
답변
12
"htpasswd"에 의해 생성 된 암호는 추측하기가 더 어렵도록 무작위 소금을 사용합니다. 또한 가능한 모든 암호로 가능한 모든 암호를 암호화해야하기 때문에 사전에 암호화 된 사전 공격이 훨씬 커야 함을 의미합니다.
htpasswd는 배경으로 crypt(3)을 사용합니다.
0
비밀 키 또는 문자열을 생성 할 때 one_way_hash (소금 + 현재 시간)를 사용하면 불가능하지는 않지만 깨지기 쉽습니다. 나는 이것을 토큰이나 세션 키를 만드는데 보통 사용한다.
감사합니다. 나는 무작위로 소금을 알지 못했다. – user225312
'passwd', 유닉스 패스워드 변경 유틸리티는 똑같은 일을합니다. (요즘에는 많은 사람들이 토굴 대신 MD5 암호를 사용하기 때문에 소금이 없습니다.) –
궁금한 점이 있다면 "소금이 무작위로 생성되면 서버가 어떻게 소금을 결정합니까?" 소금은'crypt()'출력의 처음 두 문자입니다. –