`/etc/shadow`의 암호화된 비밀번호 형식

`/etc/shadow`의 암호화된 비밀번호 형식

아래와 같이 해시된 암호 문구가 표시됩니다 /etc/shadow. 나는 그 형식을 잘 이해하지 못합니다.

$y$j9T$F5Jx5fExrKuPp53xLKQ..1$X3DX6M94c7o.9agCG9G317fhZg9SqC.5i5rd.RhAtQ7

아래 그림과 같이 4개의 부분으로 구성되어 있습니다. 에 따르면 crypt(5).​yyescrypt

https://manpages.debian.org/unstable/libcrypt-dev/crypt.5.en.html

- y
- j9T
- F5Jx5fExrKuPp53xLKQ..1
- X3DX6M94c7o.9agCG9G317fhZg9SqC.5i5rd.RhAtQ7

마지막 세 부분은 무엇을 의미합니까?

답변1

"다음 부분은 무엇을 의미하나요?"라고 대답하세요.crypt(3)기능":

  • id
  • param
  • salt
  • hash

좀 더 자세히 설명드리자면여기.

새로운 yescrypt"비밀번호 해싱 체계"와 관련하여 두 번째 필드의 의미는 다음을 읽어 보면 이해할 수 있습니다.이것, 더 알고 싶으시면 읽어보셔도 됩니다yescrypt v2 사양.

더 자세히 조사해 보니 함수에서 해싱이 발생하는 것 같습니다.yescrypt_r. 코드에서 다양한 매개변수 정의를 볼 수 있습니다. is 의 경우
where is 의 첫 번째 숫자에 있는 숫자로 설정한 다음 해당 함수를 사용하여 r과 p를 구문 분석합니다.id7N2^xxparamdecode64_uint32_fixed나머지 필드에서 param.
다른 모든 경우(예: 함수가 값을 확인하고 그렇지 않으면 반환하기 때문에 is 인 id경우 에만 ) 소스는 조건부로 다양한 매개변수를 설정하고 원본과 반대되는 것을 이해하려고 노력하는 방식으로 코드 블록을 작성합니다. 작가의 바램. 그래서 나는 그것을 독자들에게 연습으로 남겨둔다.yid7y

동일한 파일에서 함수네 비밀번호다음으로 crypt(3).

관련 정보