PHP에서 crypt() 함수를 사용하는 방법

Phpeseo Crypt Hamsuleul Sayonghaneun Bangbeob



그만큼 토굴() PHP의 함수는 Standard DES, Extended DES, MD5, Blowfish, SHA-256 및 SHA-512와 같은 해싱 알고리즘을 사용하여 주어진 문자열의 해시를 생성하는 데 사용되는 암호화에 유용한 도구입니다. 이 함수는 단방향 해싱 및 문자열 암호화에 사용됩니다. 해시할 문자열과 해싱 프로세스에 복잡성을 추가하고 더 안전하게 만드는 데 사용되는 선택적 솔트 값의 두 가지 인수를 사용합니다.

여러 운영 체제에서 이 기능은 다르게 작동합니다. 설치하는 동안 PHP는 사용 가능한 권장 알고리즘을 검사합니다. 이 함수는 PHP 버전 4 이상에 포함되어 있으며 하나의 필수 매개변수와 하나의 선택적 매개변수를 허용합니다.

통사론

간단한 구문 다음에 토굴() 기능은 다음과 같습니다.









토굴 ( $str , $소금 )

이 함수는 두 개의 매개변수를 허용합니다.



  • $str: 이 매개변수는 암호화하려는 문자열입니다. 이 문자열은 해시 생성 중에 잘릴 수 있습니다. 즉, 해시 유형에 따라 전체 문자열을 고려하지 않습니다.
  • $소금: 이 매개변수는 해싱 방법을 선택하는 데 사용됩니다.

이 함수는 암호화된 문자열을 반환합니다.



PHP에서 crypt() 함수를 사용하는 방법?

그만큼 토굴() PHP의 함수는 문자열을 암호화하기 위해 다른 암호화 해싱 알고리즘과 함께 사용할 수 있습니다. 다음은 사용 방법에 대한 몇 가지 예입니다. 토굴() 다른 해싱 알고리즘 사용:





이러한 방법을 자세히 설명하겠습니다.

1: CRYPT_STD_DES 사용

그만큼 CRYPT_STD_DES 에서 지원하는 해싱 알고리즘 중 하나입니다. 토굴() 를 사용하는 PHP의 함수 표준 DES(데이터 암호화 표준) 암호화 알고리즘. 사용할 때 CRYPT_STD_DES 에 대한 두 번째 인수로 두 문자 솔트 값을 제공해야 합니다. 토굴() 기능. 솔트 값은 암호화 프로세스의 키 변형 및 복잡성을 지정합니다.



예를 들어:



만약에 ( CRYPT_STD_DES == 1 ) {

에코 '표준 DES: ' . 토굴 ( 'linuxhint에 오신 것을 환영합니다' , '스트' ) . ' \N ' ;

} 또 다른 {

에코 '표준 DES를 지원하지 마십시오. \N ' ;

}

?>

2: CRYPT_EXT_DES 사용

그만큼 CRYPT_EXT_DES 에서 지원하는 또 다른 해싱 알고리즘입니다. 토굴() 를 활용하는 기능 확장 DES(데이터 암호화 표준) 암호화 알고리즘. 확장 DES 원래 DES 알고리즘의 확장으로 더 큰 키 공간과 향상된 보안을 제공합니다.

사용 CRYPT_EXT_DES 로 시작하는 솔트 값을 제공해야 합니다. _J9 추가 문자가 이어집니다.

예를 들어:



만약에 ( CRYPT_EXT_DES == 1 ) {

에코 '확장 DES: ' . 토굴 ( 'linuxhint에 오신 것을 환영합니다' , '_J9..dutta' ) . ' \N ' ;

} 또 다른 {

에코 '확장 DES를 지원하지 마십시오. \N ' ;

}

?>

3: CRYPT_MD5 사용

그만큼 CRYPT_MD5 에서 지원하는 해싱 알고리즘 중 하나입니다. 토굴() 를 활용하는 PHP의 함수 MD5(메시지 다이제스트 알고리즘 5 128비트(16바이트) 해시 값 생성 ) 암호화 알고리즘.

사용 CRYPT_MD5 로 시작하는 솔트 값을 제공해야 합니다. $1$ 일부 문자가 이어집니다.

예를 들어:



만약에 ( CRYPT_MD5 == 1 ) {

에코 'MD5: ' . 토굴 ( 'linuxhint에 오신 것을 환영합니다' , '$1$노력$' ) . ' \N ' ;

} 또 다른 {

에코 'MD5를 지원하지 마십시오. \N ' ;

}

?>

4: CRYPT_BLOWFISH 사용

그만큼 CRYPT_BLOWFISH 에서 지원하는 널리 권장되는 해싱 알고리즘입니다. 토굴() 암호화를 위해 Blowfish 알고리즘을 사용하는 PHP의 함수. 복어는 강력한 보안으로 알려진 대칭 키 블록 암호입니다. 사용 CRYPT_BLOWFISH , 다음으로 시작하는 솔트 값을 제공해야 합니다. $2년$ 또는 $2a$ , 2자리 비용 매개변수, 실제 소금 값이 뒤따릅니다.

예를 들어:



만약에 ( CRYPT_BLOWFISH == 1 ) {

에코 '복어: ' .

토굴 ( 'linuxhint에 오신 것을 환영합니다' , '$2y$12$mkstringexforsaltparam' ) .

' \N ' ;

} 또 다른 {

에코 'Blowfish를 지원하지 마십시오. \N ' ;

}

?>

5: CRYPT_SHA256 사용

에서 지원하는 또 다른 해싱 알고리즘 토굴() 기능은 CRYPT_SHA256 암호화에 SHA-256 알고리즘(256비트(32바이트) 해시 값 생성)을 사용합니다. 사용 CRYPT_SHA256 , 다음으로 시작하는 솔트 값을 제공해야 합니다. $5$ , 두 자리 비용 매개변수, 실제 소금값

예를 들어:



만약에 ( CRYPT_SHA256 == 1 ) {

에코 'SHA-256: ' .

토굴 ( 'linuxhint에 오신 것을 환영합니다' , '$5$mkstringexforsaltparam$' ) .

' \N ' ;

} 또 다른 {

에코 'SHA256을 지원하지 마십시오. \N ' ;

}

?>

6: CRYPT_SHA512 사용

그만큼 CRYPT_SHA512 에서 지원하는 또 다른 유용한 해싱 알고리즘입니다. 토굴() 를 활용하는 PHP의 함수 SHA-512 암호화 알고리즘. SHA-512 512비트(64바이트) 해시 값을 생성하는 널리 사용되는 암호화 해시 함수입니다. 사용 CRYPT_SHA512 , 다음으로 시작하는 솔트 값을 제공해야 합니다. $6$ , 두 자리 비용 매개변수, 실제 소금값

예를 들어:



만약에 ( CRYPT_SHA512 == 1 ) {

에코 'SHA-512: ' .

토굴 ( 'linuxhint에 오신 것을 환영합니다' , '$6$mkstringexforsaltparam$' ) .

' \N ' ;

} 또 다른 {

에코 'SHA-512를 지원하지 마십시오. \N ' ;

}

?>

결론


PHP 토굴() 함수는 해시된 문자열을 암호화할 수 있으며 지정된 알고리즘을 지원하는 단방향 암호화 기술입니다. 암호화만 허용하고 복호화는 허용하지 않기 때문에 단방향 알고리즘이라고 합니다. 이 함수는 하나의 필수 매개변수와 하나의 선택적 매개변수를 허용하고 암호화된 문자열을 반환합니다. 이 가이드는 다음을 사용하여 PHP 암호화 기능을 구현했습니다. CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , 그리고, CRYPT_SHA512 알고리즘.