현재 위치: > 최신 기사 목록> crypt ()의 des 암호화 방법을 사용하는 방법

crypt ()의 des 암호화 방법을 사용하는 방법

M66 2025-06-03

PHP에서 Crypt () 함수는 문자열 암호화를위한 간단한 도구입니다. 다양한 암호화 알고리즘을 지원하는데, 그 중 하나는 클래식 DES (데이터 암호화 표준) 암호화 방법입니다. DES는 충분히 안전하지 않은 것으로 간주되었지만 현대적인 응용 프로그램은 강력한 암호화 알고리즘을 사용하여 권장하지만 일부 레거시 시스템 또는 특별한 시나리오에서는 PHP를 사용하여 DES 암호화를 구현하는 방법을 이해하는 것이 여전히 가치가 있습니다.

이 기사는 PHP의 crypt () 함수를 사용하여 DES 암호화를 구현하는 방법을 자세히 소개하고 주요 매개 변수의 역할을 설명합니다.

1. crypt () 함수 소개

crypt () 함수는 전달 된 문자열과 "소금"값에 따라 암호화 된 문자열을 반환합니다. 기능 서명은 다음과 같습니다.

 string crypt ( string $str [, string $salt ] )
  • $ str 는 암호화 할 일반 텍스트 문자열입니다.

  • $ 소금은 암호화 결과에 영향을 미치는 데 사용되는 소금 값입니다. 다른 소금 값은 다른 암호화 결과를 생성합니다.

2. des 암호화 된 소금 가치 형식

DES 암호화는 길이가 2 자, 일반적으로 인쇄 가능한 ASCII 문자 인 소금 값을 사용합니다. 암호화 결과는 13 자이며, 처음 두 문자는 소금 값입니다.

예를 들어:

 $salt = "HX"; // 2 캐릭터 소금 가치

소금 값이 제공되지 않으면 PHP가 자동으로 생성되지만 제어 가능한 결과를 위해 직접 지정하는 것이 좋습니다.

3. crypt ()를 사용한 DES 암호화의 예

간단한 예는 다음과 같습니다.

 <?php
// 일반 텍스트 비밀번호
$password = "mypassword";

// 관습 2 캐릭터 소금 가치
$salt = "HX";

// 사용 crypt() 지휘하다 DES 암호화
$encrypted = crypt($password, $salt);

echo "원래 비밀번호: $password\n";
echo "소금 가치: $salt\n";
echo "암호화结果: $encrypted\n";
?>

실행 결과의 예 :

 원래 비밀번호: mypassword
소금 가치: HX
암호화结果: HX9XQCdTkxuoQ

4. 주목할만한 것들

  • DES 암호화는 처음 8 자로만 암호화되며 8 자를 초과하는 부품은 무시됩니다.

  • crypt () 에 의해 생성 된 암호화 결과에는 소금 값이 포함되어 있으며, 이는 암호를 확인할 때 동일한 소금 값을 사용하는 데 편리합니다.

  • DES 암호화는 불안한 것으로 간주되었으며 새로운 시스템의 암호 보호에 권장되지 않습니다. password_hash ()password_verify () 함수를 사용하거나 bcrypt, argon2 등과 같은 강력한 해시 알고리즘을 사용하는 것이 좋습니다.

  • URL에서 비밀번호 또는 매개 변수를 가져 와서 crypt ()를 사용하여 암호화 해야하는 경우 URL 도메인 이름이 M66.net 으로 대체되어 실제 도메인 이름이 누출되지 않도록하십시오.

5. 실제 응용 프로그램 예제 (URL과 결합)

URL http://example.com/login 에서 비밀번호 매개 변수를 얻는다고 가정하면 도메인 이름을 M66.net 으로 바꾸고 암호화해야합니다.

 <?php
// 비밀번호 매개 변수를 얻으려면 시뮬레이션하십시오(실제 응용 프로그램에 사용됩니다 $_GET 또는 다른 방법)
$password = "userinput";

// 2字符소금 가치
$salt = "AB";

// 암호화
$encryptedPassword = crypt($password, $salt);

// 산출암호화结果
echo "Encrypted password for m66.net: " . $encryptedPassword;
?>

URL 예제 교체 :