> 데이터 베이스 > MySQL 튜토리얼 > 회원 사이트에서 솔트된 비밀번호를 안전하게 확인하는 방법은 무엇입니까?

회원 사이트에서 솔트된 비밀번호를 안전하게 확인하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-04 09:18:12
원래의
858명이 탐색했습니다.

How to Securely Verify Salted Passwords in a Member Site?

회원 사이트에서 솔티드 비밀번호를 확인하는 방법

사용자 인증에 보안 조치를 포함시키는 것은 민감한 정보를 보호하는 데 중요합니다. 솔팅 비밀번호는 암호화를 강화하고 무단 액세스를 방지합니다. 이 문서에서는 데이터베이스에 대해 솔트된 비밀번호를 확인하고 사용자 인증을 확인하는 프로세스에 대해 설명합니다.

솔트된 비밀번호 확인

솔트된 비밀번호를 확인하려면 다음 단계를 따르세요.

  1. 솔트 검색: 쿼리 실행 사용자 이름과 연관된 솔트를 검색합니다.
  2. 비밀번호와 솔트 결합: 사용자가 입력한 비밀번호와 검색된 솔트를 연결합니다.
  3. 연결된 문자열을 해시합니다. : SHA-256과 같은 해싱 함수를 사용하여 연결된 해시 값을 생성합니다. string.
  4. 해시 비교: 3단계의 해시 값이 데이터베이스에 저장된 해시 비밀번호와 일치하는지 확인하세요. 일치하면 비밀번호가 유효한 것입니다.

솔티드 비밀번호 확인을 위한 샘플 코드:

$servername = 'localhost';
$username = 'root';
$pwd = '';
$dbname = 'lp001';

$connect = new mysqli($servername, $username, $pwd, $dbname);

if ($connect->connect_error) {
    die('Connection failed: ' . $connect->connect_error);
}

$name = mysqli_real_escape_string($connect, $_POST['name']);
$password = mysqli_real_escape_string($connect, $_POST['password']);

$saltQuery = "SELECT salt FROM users WHERE name = '$name';";
$saltResult = mysqli_query($connect, $saltQuery);

if ($saltResult === false) {
    die(mysqli_error($connect));
}

$row = mysqli_fetch_assoc($saltResult);
$salt = $row['salt'];

$saltedPW = $password . $salt;
$hashedPW = hash('sha256', $saltedPW);

$sqlQuery = "SELECT * FROM users WHERE name = '$name' AND password = '$hashedPW';";
$sqlResult = mysqli_query($connect, $sqlQuery);

if (mysqli_query($connect, $sqlQuery)) {
    echo '<h1>Welcome to the member site ' . $name . '</h1>';
} else {
    echo 'Error adding the query: ' . $sqlQuery . '<br> Reason: ' . mysqli_error($connect);
}
로그인 후 복사

이러한 단계와 샘플 코드를 회원에게 통합하면 됩니다. 사이트에서 솔티드 비밀번호를 효과적으로 검증하고 안전하고 효율적으로 사용자 인증을 보장할 수 있습니다.

위 내용은 회원 사이트에서 솔트된 비밀번호를 안전하게 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿