현재 위치: > 최신 기사 목록> PHP crypt () 함수의 기본 사용에 대한 자세한 설명

PHP crypt () 함수의 기본 사용에 대한 자세한 설명

M66 2025-05-20

웹을 개발할 때 암호 암호화는 사용자 데이터 보안을 보호하는 데 핵심 링크입니다. PHP는 Crypt () 함수가 기본이지만 매우 유용한 암호화 도구 인 다양한 암호화 방법을 제공합니다. 단방향으로 문자열을 암호화 할 수 있으며 종종 암호 해싱에 사용됩니다. 이 기사는 Crypt () 함수, 기본 구문, 다양한 암호화 알고리즘, 실제 응용 프로그램의 예와 예방 조치를 자세히 소개합니다.

1. crypt () 함수는 무엇입니까?

Crypt () 는 문자열을 암호화하는 데 사용되는 PHP의 내장 암호화 기능입니다. 일원 암호화 알고리즘을 사용하므로 암호화 결과는 돌이킬 수 없으므로 암호와 같은 민감한 데이터를 저장하는 데 매우 적합합니다.

PHP는 또한 password_hash ()hash () 와 같은 최신 암호화 방법을 제공하지만 crypt () 의 작동 방식을 이해하면 개발자가 암호화의 기본 사항을 마스터하는 데 여전히 도움이됩니다.

2. crypt () 함수의 구문

 string crypt ( string $string [, string $salt ] )
  • $ String : 암호화 해야하는 원래 문자열입니다.

  • $ 소금 : 암호화에 사용되는 "소금 값"을 지정하는 선택적 매개 변수. 다른 소금 값과 알고리즘은 최종 암호화 결과에 영향을 미칩니다.

3. 암호화 알고리즘 유형

crypt () 함수는 제공하는 소금 값 형식에 따라 여러 암호화 알고리즘을 지원합니다. 다음은 일반적으로 사용되는 소금 가치 형식과 해당 알고리즘입니다.

  1. DES (기본값)

     crypt('mypassword', 'rl');
    
  2. MD5

     crypt('mypassword', '$1$usesomesalt$');
    
  3. 블로우 피쉬

     crypt('mypassword', '$2y$10$abcdefghijklmnopqrstuv');
    
  4. SHA-256

     crypt('mypassword', '$5$rounds=5000$anexamplestringforsalt$');
    
  5. SHA-512

     crypt('mypassword', '$6$rounds=5000$anexamplestringforsalt$');
    

4. 예 : Blowfish를 사용하여 비밀번호를 암호화합니다

 <?php
$password = 'secure123';
$salt = '$2y$10$usesomesillystringforex$';
$hashed = crypt($password, $salt);

echo $hashed;
?>

출력 결과는 암호화 된 문자열입니다. 다시 실행 되더라도 결과는 동일하며, 이는 사용자가 로그인하여 검증 될 때 비밀번호 비교에 적합합니다.

5. 비밀번호를 확인하는 방법?

비밀번호를 확인할 때는 동일한 소금 값으로 사용자가 입력 한 암호를 다시 밀어 넣은 다음 데이터베이스에 저장된 해시 값과 비교해야합니다.

 <?php
$input_password = 'secure123';
$stored_hash = '$2y$10$usesomesillystringforex$JeW8SuJSvSpEtBCUJ8JXoeK1G5Lmbl9Hz7tpIdAd4wczP8t9UO1nO';

if (crypt($input_password, $stored_hash) === $stored_hash) {
    echo '비밀번호 확인이 성공했습니다';
} else {
    echo '오류 비밀번호';
}
?>

6. 주목할만한 것들

  • crypt ()를 사용하는 경우 Blowfish 또는 더 높은 보안 알고리즘을 선택하는 것이 좋습니다.

  • crypt ()는 자동으로 소금 값을 생성하지 않으며 개발자는 수동으로 전달해야합니다.

  • PHP 5.3은 알고리즘에 대한 지원을 향상 시켰지만 이후 버전에서 crypt () 대신 암호 _hash ()를 사용하는 것이 좋습니다.

7. 실제 조건과 결합 : 사용자 등록에 사용됩니다

사용자가 등록하면 암호화 된 암호를 생성하고 데이터베이스에 저장할 수 있습니다.

 <?php
$password = 'mypassword';
$salt = '$2y$10$' . substr(strtr(base64_encode(random_bytes(16)), '+', '.'), 0, 22);
$hash = crypt($password, $salt);

// 할 것이다 $hash 데이터베이스에 저장하십시오
echo '성공적으로 등록되었습니다,암호화 암호는입니다:' . $hash;
?>

8. 요약

Crypt () 는 PHP가 제공하는 강력한 암호화 기능입니다. 다양한 소금 값 형식을 제공함으로써 다중 암호화 알고리즘을 사용하여 문자열을 암호화 할 수 있습니다. Password_hash () 와 같은 기능을 사용하여 현대 개발에서 암호 보안을 처리하는 것이 좋습니다. Crypt () 의 메커니즘을 이해하면 보안 개발을위한 좋은 기초가 될 수 있습니다.

Crypt ()는 사용자 정의 알고리즘이 있거나 오래된 프로젝트와 호환 될 때 여전히 중요한 역할을합니다. 로그인 시스템을 구축하거나 민감한 데이터 저장 또는 처리 인증 메커니즘을 구축하든 암호화 기능의 합리적인 사용은 항상 웹 사이트 보안을 보장하는 데 필수적인 부분입니다.