현재 위치: > 최신 기사 목록> PHP 및 SQLITE 비밀번호 암호화 및 검증 구현 : 포괄적 인 가이드

PHP 및 SQLITE 비밀번호 암호화 및 검증 구현 : 포괄적 인 가이드

M66 2025-06-13

소개

현대 인터넷 시대에는 비밀번호의 보안이 중요합니다. 사용자 개인 정보를 보호하기 위해 웹 사이트는 일반적으로 비밀번호 암호화 및 확인을 통해 사용자 비밀번호 정보를 저장하고 처리합니다. 이 기사에서는 PHP 및 SQLITE를 사용 하여이 기능을 구현하는 방법을 설명합니다.

1. 비밀번호 암호화

암호 암호화는 사용자가 입력 한 일반 텍스트 비밀번호를 읽을 수없는 임의 문자열로 변환하는 것입니다. 데이터베이스 데이터가 유출 되더라도 비밀번호는 일반 텍스트로 노출되지 않습니다. PHP에서 Password_hash () 함수를 사용하여 암호 암호화를 구현할 수 있습니다.

 
// 비밀번호 암호화 예
$password = "123456";
$hash = password_hash($password, PASSWORD_DEFAULT);

위 코드에서 $ password는 사용자가 입력 한 일반 텍스트 비밀번호를 나타내고 $ Hash는 암호화 된 암호입니다. 함수 password_hash ()는 현재 기본 알고리즘을 기반으로 암호화 된 암호를 생성합니다.

2. 비밀번호 확인

사용자가 로그인하면 입력 된 암호가 데이터베이스에 저장된 암호화 된 암호와 일치하여 사용자 신원의 정당성을 보장하는지 확인해야합니다. PHP에서는 검증을 위해 password_verify () 함수를 사용할 수 있습니다.

 
// 비밀번호 검증 예
$password = "123456";
$hash = "$2y$10$KZxpkRfkBrmJr9X11qaIjeJf1cgjF9OXmcruE/YqLqKx6F79KRjlC";

if (password_verify($password, $hash)) {
    echo "비밀번호 확인이 통과되었습니다";
} else {
    echo "비밀번호 확인이 실패했습니다";
}

이 예에서 $ 암호는 사용자가 입력 한 일반 텍스트 비밀번호이며 $ HASH는 데이터베이스에서 검색 한 암호화 된 암호입니다. password_verify () 함수를 사용하여 암호 일치 여부를 결정할 수 있습니다.

3. SQLITE 데이터베이스를 사용하여 비밀번호를 저장하십시오

이 예에서는 SQLITE 데이터베이스를 사용하여 사용자의 비밀번호 정보를 저장합니다. SQLITE는 외부 데이터베이스 서버가 필요하지 않고 소규모 프로젝트 또는 개인 용도에 적합한 가벼운 임베디드 데이터베이스입니다.

먼저 SQLITE 데이터베이스를 작성하고 비밀번호 정보를 저장하기위한 사용자 테이블을 설정하십시오.

 
// 만들다SQLite데이터 베이스
$db = new SQLite3("mydb.db");

// 만들다用户表
$query = "CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    username TEXT NOT NULL,
    password TEXT NOT NULL
);";
$db->exec($query);

다음으로 암호화 된 비밀번호를 데이터베이스에 저장하십시오.

 
// 将密码存储到데이터 베이스
$password = "123456";
$hash = password_hash($password, PASSWORD_DEFAULT);

$query = "INSERT INTO users (username, password) VALUES ('user1', '$hash')";
$db->exec($query);

암호의 암호화 된 스토리지를 완료 한 후 사용자는 로그인 할 때 암호 확인을 수행해야합니다.

 
// 사용자 로그인
$username = "user1";
$password = "123456";

// 从데이터 베이스中获取密码
$query = "SELECT password FROM users WHERE username = '$username'";
$result = $db->querySingle($query);

// 비밀번호를 확인하십시오
if (password_verify($password, $result)) {
    echo "성공적으로 로그인하십시오";
} else {
    echo "로그인이 실패했습니다";
}

// 关闭데이터 베이스连接
$db->close();

이러한 코드를 통해 사용자 암호의 암호화 및 검증 기능을 구현하여 사용자 비밀번호의 보안을 보장하고 민감한 정보의 유출을 피할 수 있습니다.

결론적으로

PHP 및 SQLITE는 암호를 암호화하고 검증하는 간단하고 효율적인 방법을 제공합니다. 이러한 기능을 합리적으로 사용함으로써 웹 사이트의 보안을 효과적으로 개선하고 사용자의 개인 정보를 보호 할 수 있습니다.