PHP 암호화 및 복호화 기능 라이브러리 사용

王林
풀어 주다: 2023-06-16 10:52:02
원래의
1592명이 탐색했습니다.

PHP 암호화 및 복호화 기능 라이브러리 사용

네트워크 보안 문제가 점점 중요해짐에 따라 암호화는 현대 네트워크 기술에서 없어서는 안 될 부분이 되었습니다. PHP에서 암호화 및 복호화 기능 라이브러리는 민감한 정보를 처리하고 데이터 보안을 보장하는 데 사용할 수 있는 다양한 암호화 및 복호화 기능을 제공합니다. 이 기사에서는 PHP 암호화 및 복호화 기능 라이브러리의 사용을 소개합니다.

1. 일반적으로 사용되는 암호화 및 복호화 기능

  1. md5 암호화:

md5 암호화는 비밀번호를 저장하고 파일의 무결성을 확인하는 데 자주 사용되는 되돌릴 수 없는 암호화 방법입니다. 사용법은 매우 간단합니다. 예를 들면 다음과 같습니다.

$message = 'password'; $encrypted = md5($message);
로그인 후 복사
  1. sha1 암호화:

sha1 암호화도 되돌릴 수 없는 암호화 방법이며 사용법은 md5 암호화와 유사합니다. 예:

$message = 'password'; $encrypted = sha1($message);
로그인 후 복사
  1. base64 암호화:

base64 암호화는 바이너리 데이터를 ASCII 문자 형식으로 인코딩하는 데 적합한 가역적 암호화 방법입니다. 예:

$message = 'password'; $encrypted = base64_encode($message);
로그인 후 복사

base64 암호 해독은 base64_decode 함수를 사용할 수 있습니다. 예:

$encrypted = 'cGFzc3dvcmQ='; $message = base64_decode($encrypted);
로그인 후 복사
  1. AES 암호화:

AES 암호화는 데이터 전송 및 저장을 보호하는 데 사용할 수 있는 해독 가능한 암호화 방법을 제공합니다. 사용법은 다음과 같습니다.

$message = 'password'; $key = 'mysecretkey'; $encrypted = openssl_encrypt($message, 'AES-256-CBC', $key);
로그인 후 복사

여기서 'AES-256-CBC'는 암호화 알고리즘이고 $key는 키입니다. AES 암호 해독은 openssl_decrypt 함수를 사용할 수 있습니다. 예:

$encrypted = 'G0TzOGxUWSJ2XOGVTYaZDFtB26oTVPqsIiL0FmzNVcA='; $key = 'mysecretkey'; $message = openssl_decrypt($encrypted, 'AES-256-CBC', $key);
로그인 후 복사
  1. RSA 암호화:

RSA 암호화는 일반적인 데이터 암호화 시나리오에 적합한 공개 키 암호화 및 개인 키 해독 방법을 제공합니다. 사용법은 다음과 같습니다.

먼저 공개 키와 개인 키를 생성합니다:

$privKey = openssl_pkey_new(array( 'private_key_bits' => 1024, 'private_key_type' => OPENSSL_KEYTYPE_RSA, )); openssl_pkey_export($privKey, $pkey); $pubKey = openssl_pkey_get_details($privKey); $pubKey = $pubKey['key'];
로그인 후 복사

그런 다음 공개 키를 사용하여 암호화합니다.

$message = 'password'; $encrypted = ''; $success = openssl_public_encrypt($message, $encrypted, $pubKey);
로그인 후 복사

RSA 암호 해독은 openssl_private_decrypt 함수를 사용할 수 있습니다. 예:

$encrypted = ''; $message = ''; $success = openssl_private_decrypt($encrypted, $message, $privKey);
로그인 후 복사

2. 암호화 및 암호 해독 모듈 사용

실제 응용 프로그램에서는 데이터 보안을 처리하기 위해 완전한 암호화 및 암호 해독 모듈을 사용해야 할 수도 있습니다. PHP에는 mcrypt 및 Sodium과 같은 뛰어난 암호화 및 암호 해독 모듈이 있습니다. 다음은 이 두 모듈을 사용하는 방법을 설명합니다.

  1. mcrypt 모듈:

mcrypt 모듈은 PHP에서 널리 사용되는 암호화 및 복호화 모듈로, 다양한 대칭 암호화 알고리즘과 비대칭 암호화 알고리즘을 제공합니다. 사용법은 다음과 같습니다.

먼저 키와 초기화 벡터를 설정합니다:

$key = 'mysecretkey'; $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_RAND);
로그인 후 복사

그런 다음 mcrypt_encrypt 함수를 사용하여 암호화합니다.

$message = 'password'; $encrypted = mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $key, $message, MCRYPT_MODE_CBC, $iv );
로그인 후 복사

mcrypt 해독은 mcrypt_decrypt 함수를 사용할 수 있습니다. 예:

$decrypted = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv ); $decrypted = rtrim($decrypted, ""); echo $decrypted;
로그인 후 복사
  1. sodium 모듈:

sodium 모듈은 PHP7 이상에서 도입된 암호화 및 암호 해독 모듈로, 비밀번호 해시 기능 및 디지털 서명 알고리즘과 같은 다양한 고급 암호화 기능을 제공합니다. 사용법은 다음과 같습니다:

먼저 키를 생성합니다:

$key = sodium_crypto_secretbox_keygen();
로그인 후 복사

그런 다음 나트륨_crypto_secretbox 기능을 사용하여 암호화합니다.

$message = 'password'; $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $encrypted = sodium_crypto_secretbox($message, $nonce, $key);
로그인 후 복사

나트륨 해독은 나트륨_crypto_secretbox_open 기능을 사용할 수 있습니다. 예:

$decrypted = sodium_crypto_secretbox_open($encrypted, $nonce, $key); if ($decrypted === false) { throw new Exception('Failed to decrypt message'); } echo $decrypted;
로그인 후 복사

3. 요약

오늘날 네트워크 보안이 점점 더 중요해지면서 암호화는 데이터 개인 정보를 보호하는 데 필수적인 기술이 되었습니다. PHP는 풍부한 암호화 및 암호 해독 기능 라이브러리와 모듈을 제공합니다. 개발자는 데이터 보안을 보장하기 위해 다양한 요구 사항에 따라 가장 적합한 암호화 방법을 선택할 수 있습니다. 이 글의 소개를 통해 독자들은 PHP 암호화 및 복호화 기능 라이브러리의 기본 사용법과 일반적으로 사용되는 암호화 및 복호화 모듈의 사용법을 마스터했다고 믿습니다.

위 내용은 PHP 암호화 및 복호화 기능 라이브러리 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!