Bcrypt 및 무작위로 생성된 솔트 이해
비밀번호를 안전하게 해싱하기 위한 업계 표준 알고리즘인 Bcrypt는 무작위 솔트를 사용하여 비밀번호 보호를 강화합니다. . 그러나 사용자는 무작위로 보이는 이 요소를 고려하면서 확인 프로세스가 어떻게 작동하는지 궁금해할 수 있습니다.
솔트의 역할
솔트는 이전에 비밀번호에 추가된 고유한 접두사 역할을 합니다. 해싱. 이 무작위 값은 각 비밀번호가 동일하더라도 고유한 해시를 생성하도록 보장합니다. 예측할 수 없는 솔트를 사용하면 공격자가 비밀번호 해시를 미리 계산할 수 없으므로 사용자 계정을 손상시키기가 훨씬 더 어려워집니다.
해시된 비밀번호의 구조
솔트는 무작위로 생성됩니다. , 결과로 생성되는 해시된 비밀번호에 포함됩니다. 해시된 비밀번호는 다음을 포함한 여러 부분으로 구성됩니다.
검증 과정
비밀번호 검증 시 해시된 비밀번호가 bcrypt 알고리즘에 제공됩니다. 알고리즘은 솔트 부분을 추출하고 이를 사용하여 제공된 비밀번호를 해시합니다.
이 프로세스는 기본적으로 해시된 비밀번호를 생성한 초기 해싱 작업을 반영합니다. 새로 생성된 해시가 저장된 해시와 일치하면 제공된 비밀번호가 올바른 것으로 확인됩니다.
예
비밀번호 "password"에 대해 생성된 해시 비밀번호를 고려하세요.
y$abcdefg...123456789...
"비밀번호"가 올바른지 확인하려면 다음을 사용합니다.
crypt("password", "y$abcdefg...123456789...")
이 작업의 결과는 다음과 같은 경우 원래 생성된 해시와 동일합니다. "비밀번호"가 맞습니다. 해시된 비밀번호 안에 솔트가 포함되어 있어 원래의 해싱 연산을 재현할 수 있기 때문입니다.
위 내용은 Bcrypt는 무작위 솔트로 해시된 비밀번호를 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!