현재 위치: > 최신 기사 목록> Crypt ()를 사용한 SHA-256 및 SHA-512 알고리즘 ($ 5 $ 및 $ 6 $)

Crypt ()를 사용한 SHA-256 및 SHA-512 알고리즘 ($ 5 $ 및 $ 6 $)

M66 2025-05-31

PHP에서 Crypt () 함수는 SHA-256 및 SHA-512를 기반으로 한 해시 암호화를 포함하여 다양한 암호화 알고리즘을 지원하는 강력한 암호화 암호화 도구입니다. 이 두 알고리즘은 crypt () 함수에서 $ 5 $$ 6 $ 의 접두사로 구별됩니다. 이 기사는이 두 가지 방법을 사용하여 암호를 암호화하고 해당 샘플 코드를 제공하는 방법을 자세히 설명합니다.

crypt () 함수 소개

crypt () 는 PHP의 일원 암호화에 사용되는 기능으로, 일반적으로 암호 해싱에 사용됩니다. 그것을 사용할 때는 "소금"을 지정하여 암호화 알고리즘 및 암호화 결과를 제어 할 수 있습니다.

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

  • $ SALT : 암호화 알고리즘과 그 구성은 알고리즘에서 알고리즘에 이르기까지 다양합니다.

SHA-256 암호화 ($ 5 $)

SHA-256은 일반적으로 사용되는 암호화 해시 함수로, Crypt () 함수의 $ 5 $ 접두어에 의해 활성화됩니다. 선택적으로 "라운드"및 사용자 정의 소금 값을 추가 할 수 있습니다.

 $password = 'mypassword';
$salt = '$5$rounds=5000$mysaltvalue$';
$hash = crypt($password, $salt);
echo $hash;

설명 :

  • $ 5 $는 SHA-256의 사용을 명시합니다.

  • 라운드 = 5000 암호화 라운드 수를 설정합니다 (선택 사항).

  • mySaltValue 는 사용자 정의 할 수있는 소금 값 문자열입니다.

  • 암호화 결과는 쉽게 식별하기 위해 $ 5 $ 로 시작합니다.

예제 출력은 다음과 같습니다.

 $5$rounds=5000$mysaltvalue$5O2dlyLbMFx.kPQzMt4HZG4lDHzs9DGx85xuRSkjRA/

SHA-512 암호화 ($ 6 $)

마찬가지로 SHA-512는 Crypt () 를 통해 구현 될 수 있으며 접두사를 $ 6 $ 로 변경하십시오.

 $password = 'mypassword';
$salt = '$6$rounds=10000$customsalt$';
$hash = crypt($password, $salt);
echo $hash;

설명 :

  • $ 6 $ anable SHA-512 암호화.

  • 라운드 = 10000은 10000 암호화 반복이 수행되었음을 나타냅니다.

  • 세관은 소금 가치입니다.

예제 출력은 다음과 같습니다.

 $6$rounds=10000$customsalt$WXnQmvLQu.wNcB3VJmfYB/mURR3p8ddmdvYqTbWn1l6gBBR4vlmMHI8LtkYmK5I24T2MGk7pDODDZAxU2ueCd0

임의의 소금 값을 생성합니다

안전을 위해 소금 값은 가능한 한 무작위 여야합니다. 소금 값을 생성하는 간단한 기능은 다음과 같습니다.

 function generateSalt($length = 16) {
    return bin2hex(random_bytes($length / 2));
}

$password = 'mypassword';
$salt = '$6$rounds=10000$' . generateSalt() . '$';
$hash = crypt($password, $salt);
echo $hash;

응용 프로그램 시나리오 및 보안 팁

  1. 사용자 비밀번호 저장 : 사용자 비밀번호를 일반 텍스트로 저장하는 것이 좋습니다. 안전한 소금 값과 적절한 라운드를 가진 crypt ()를 사용하는 것은 안전한 방법입니다.

  2. 암호 비교 : 비밀번호를 확인할 때 사용자 입력은 동일한 소금 값으로 다시 암호화 한 다음 저장된 해시 값과 비교해야합니다.

  3. HTTPS 전송 : https://m66.net 과 같은 보안 프로토콜을 통해 암호화 된 데이터가 전송되어 Man-in-the-Middle 공격을 피하십시오.

요약

이 기사를 통해 PHP의 Crypt () 함수를 사용하여 $ 5 $$ 6 $를 결합하여 SHA-256 및 SHA-512를 기반으로 보안 암호화를 구현할 수 있습니다. 이 방법은 로그인 인증 및 사용자 정보 보호와 같은 여러 시나리오에 적합합니다. 강력한 소금 값 전략과 높은 라운드 수 설정을 결합하면 데이터 보안이 크게 향상 될 수 있습니다.