>  기사  >  백엔드 개발  >  PHP 8의 새로운 기능: 확인 및 서명 추가

PHP 8의 새로운 기능: 확인 및 서명 추가

王林
王林원래의
2024-03-27 08:21:03668검색

PHP 8 新特性:增加了验证和签名

PHP 8은 최신 버전의 PHP로 프로그래머에게 더 많은 편의성과 기능을 제공합니다. 이 버전은 보안과 성능에 특별히 중점을 두고 있으며 주목할만한 새로운 기능 중 하나는 확인 및 서명 기능이 추가된 것입니다. 이 문서에서는 이러한 새로운 기능과 그 용도에 대해 자세히 살펴보겠습니다.

확인 및 서명은 컴퓨터 과학에서 매우 중요한 보안 개념입니다. 이는 전송된 데이터가 완전하고 확실한지 확인하는 데 자주 사용됩니다. 누군가가 데이터를 변조할 수 있으면 회사와 고객에게 예측할 수 없는 피해를 입힐 수 있기 때문에 확인 및 서명은 온라인 거래 및 민감한 정보를 처리할 때 특히 중요합니다.

PHP 8에는 확인 및 서명을 처리하기 위한 두 가지 새로운 확장인 나트륨과 openssl이 있습니다. 이러한 확장을 사용하면 PHP에서 최신 암호화 및 보안 프로토콜을 더 쉽게 사용할 수 있습니다.

sodium 확장

Sodium은 다양한 암호화 알고리즘 및 보안 기능에 대한 API 액세스를 제공하는 최신 암호화 라이브러리입니다. Curve25519 및 Chacha20과 같은 최첨단 암호화 표준을 기반으로 하기 때문에 보안 암호화 작업을 수행하는 개발자가 선택하는 라이브러리가 되었습니다.

PHP 7.2에서는 Sodium 확장이 PHP 표준 라이브러리에 추가되었으며 PHP 7.2에서는 선택적 확장이 되었습니다. PHP 8에서는 기본 확장이 되었습니다.

검증을 위해 나트륨 확장 사용

나트륨 확장은 데이터 서명에 사용할 수 있는 나트륨_crypto_sign_detached()라는 함수를 제공합니다. 서명은 데이터가 변조되었는지 여부를 확인하는 데 사용할 수 있는 특정 문자열을 생성합니다.

다음은 나트륨_crypto_sign_detached() 함수를 사용하여 서명하고 확인하는 예입니다.

<?php
$data = "hello world";
$keys = sodium_crypto_sign_keypair();

$signature = sodium_crypto_sign_detached($data, $keys['secret']);

if (sodium_crypto_sign_verify_detached($signature, $data, $keys['public'])) {
   echo "签名有效";
} else {
   echo "签名无效";
}

이 예에서는 먼저 공개 키와 개인 키 쌍을 생성합니다. 그런 다음 $sodium_crypto_sign_detached() 함수를 사용하여 문자열에 서명하고 서명 결과를 $signature 변수에 저장합니다. 마지막으로 $sodium_crypto_sign_verify_detached() 함수를 사용하여 서명이 유효한지 확인합니다.

서명이 유효하면 "서명이 유효합니다"가 화면에 인쇄되고, 그렇지 않으면 "서명이 유효하지 않습니다"가 인쇄됩니다.

openssl 확장을 사용한 인증

OpenSSL은 다양한 암호화 알고리즘과 보안 기능을 제공하는 인기 있는 암호화 및 보안 라이브러리입니다. OpenSSL 확장 기능이 PHP에 내장되어 있어 PHP에서 OpenSSL을 더욱 편리하게 사용할 수 있습니다.

OpenSSL 확장은 데이터에 서명할 수 있는 openssl_sign()이라는 또 다른 함수를 제공합니다. 마찬가지로 확장 기능은 서명 확인을 위한 openssl_verify() 함수도 제공합니다.

다음은 openssl_sign() 및 openssl_verify() 함수를 사용하여 서명하고 확인하는 예입니다.

<?php
$data = "hello world";
$key = openssl_pkey_new(['digest_alg' => 'sha512']);

openssl_sign($data, $signature, $key);

if (openssl_verify($data, $signature, $key)) {
   echo "签名有效";
} else {
   echo "签名无效";
}

이 예에서는 먼저 openssl_pkey_new() 함수를 사용하여 공개 키와 개인 키 쌍을 생성합니다. 그런 다음 openssl_sign() 함수를 사용하여 문자열에 서명하고 서명 결과를 $signature 변수에 저장합니다. 마지막으로 openssl_verify() 함수를 사용하여 서명이 유효한지 확인합니다.

서명이 유효하면 "서명이 유효합니다"가 화면에 인쇄되고, 그렇지 않으면 "서명이 유효하지 않습니다"가 인쇄됩니다.

결론

확인 및 서명은 데이터 보안을 보장하는 중요한 방법입니다. PHP 8에서는 나트륨 및 openssl 확장을 사용하면 확인 및 서명이 더 쉬워집니다. 개발자는 이러한 새로운 기능을 활용하여 회사와 고객에게 보다 안전한 서비스를 제공할 수 있습니다. PHP 개발자라면 보안을 극대화하고 사용자를 보호하기 위해 나트륨 및 openssl 확장에 대해 자세히 알아보는 것이 좋습니다.

위 내용은 PHP 8의 새로운 기능: 확인 및 서명 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.