P粉3930309172023-08-22 17:48:16
예, 올바르게 이해하셨습니다. Password_hash() 함수는 자동으로 솔트를 생성하여 생성된 해시 값에 포함시킵니다. 데이터베이스에 소금을 저장하는 것은 완벽하게 정확하며 알려진 경우에도 작동합니다.
으아악당신이 언급한 두 번째 솔트(파일에 저장된 솔트)는 실제로 "pepper" 또는 서버 측 키입니다. 해시(소금처럼) 앞에 추가하면 일종의 후추를 추가하는 것입니다. 그러나 더 좋은 방법이 있습니다. 먼저 해시를 계산한 다음 서버측 키를 사용하여 해시를 암호화(양방향 암호화)하는 것입니다. 이렇게 하면 필요한 경우 키를 변경할 수 있습니다.
솔트와 달리 이 키는 비밀로 유지되어야 합니다. 사람들은 종종 혼란스러워하고 소금을 숨기려고 노력하지만, 소금이 그 일을 하게 하고 열쇠를 사용하여 비밀을 추가하는 것이 더 좋습니다.
P粉6961462052023-08-22 00:14:55
password_hash
을 사용하여 비밀번호를 저장하는 것이 좋습니다. 데이터베이스와 파일에 별도로 저장하지 마십시오.
다음과 같은 입력이 있다고 가정합니다:
으아악먼저 다음 방법으로 비밀번호를 해시합니다.
으아악그런 다음 출력을 봅니다.
으아악해시된 것을 볼 수 있습니다(이 단계를 완료했다고 가정합니다).
이제 이 해시된 비밀번호를 데이터베이스에 저장하세요. 비밀번호 열이 해시 값(최소 60자 이상)을 수용할 만큼 충분히 큰지 확인하세요 . 사용자가 로그인을 요청하면 다음을 통해 데이터베이스의 해시가 입력된 비밀번호와 일치하는지 확인할 수 있습니다.
으아악