mkpasswd -m sha-512 비밀번호 -s "22446688"

mkpasswd -m sha-512 비밀번호 -s "22446688"

mkpasswd 명령 결과에 문제가 있습니다. 동일한 단어를 사용하여 동일한 해싱 결과를 반복해서 재현해야 하지만 -S 옵션을 사용하지 않으면 솔트 처리된 임의 단어로 해시가 생성됩니다. 비밀번호를 입력하면 어떻게 되나요? 제 질문은 다음과 같습니다.

-S 옵션을 사용합니다. -

password: p4ssw0rd
word: 22446688
output: $6$22446688$kQPZPIx3oZHwJ/l1xteaU5CqM0m7IoglQPFtDwUSMYCUAHkRUAIAfETjvgJmXhwLm4NVI5DHTXYt9d25cnZN3/

결과는 항상 같을거에요****

-S 옵션이 없습니다. -

산출:

$6$nLtu32Q.5ZtRwK9x$z51ORpMvbOmxRj2IveXlqZnBZI16Fnvn4HQA7JBAFIPbhTI/gugtq0XCS3bBl80JBTDrROrm9emMpyRaZt0Pv0

결과는 지속적으로 변경됩니다****

단어를 반복해서 사용하면 결과는 동일하고 단어를 사용하지 않으면 결과가 다르기 때문에 내 질문은 -S 옵션 없이 옵션을 선택하고 이를 사용하여 비밀번호를 암호화하는 경우입니다. 비밀번호를 입력하면 비밀번호만 있기 때문에 비밀번호가 비교되고 동일할 것이라고 보장하지만 이는 선택 사항이고 무작위로 할당되기 때문에 소금 단어를 모릅니다. 아니면 해당 단어가 비밀번호의 해시와 함께 저장되어 있어 알 필요가 없기 때문에 문제가 되지 않는 걸까요?

답변1

소금 값을 사용하는 이유는 소금 값마다 결과가 다르다는 것입니다. 모든 비밀번호에 동일한 솔트를 사용하면 솔트 사용의 이점이 무효화됩니다.

비밀번호를 확인하는 기능이 어떤 솔트가 사용되었는지 어떻게 알 수 있는지에 관해서는 솔트가 비밀번호 해시의 일부로 저장됩니다. 첫 번째 구현에서는 처음 두 문자를 사용하여 솔트를 나타내고 그 뒤에 해시 값을 나타냅니다. 이제 비밀번호 해시는 $기호로 구분된 여러 필드로 형식화됩니다. 첫 번째 필드는 사용된 알고리즘을 지정하고 그 뒤에는 선택적 매개변수, 솔트 값, 해시 자체가 옵니다.

귀하의 경우 출력에 소금 값이 포함되어 있습니다.22446688

$6$22446688$...

두 번째 명령에서 salt는 임의의 값이며,nLtu32Q.5ZtRwK9x

$6$nLtu32Q.5ZtRwK9x$...

비밀번호 확인은 알고리즘과 솔트를 포함한 전체 문자열을 가져오므로 비밀번호를 확인할 수 있습니다.

관련 정보