PHP 의 Sodium 암호 화 확장 함수
                                            
 3581 단어  PHPSodium암호 화 확장 함수
                    
AEAD_AES_256_GCM 복호화
우선 이 AEADAES_256_GCM 복호화 능력 함수 적용.위 챗 결제 와 관련 된 개발 에서 하나의 인 터 페 이 스 는 바로 이러한 방식 으로 데이터 암호 화 를 하 는 것 이다.공식 문서 에서 도 PHP 에 대응 하 는 복호화 방식 을 제공 하 는데 그 중에서 Sodium 확장 라 이브 러 리 의 함수(마지막 참조 문서 의 두 번 째 링크 참조)
$data = '    '; //     
$nonce = random_bytes(SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES); //         ,        
$ad = 'fullstackpm'; //         
$kengen = sodium_crypto_aead_aes256gcm_keygen(); //   
//     
echo sodium_crypto_aead_aes256gcm_is_available(), PHP_EOL; // 1
//   
$pem = sodium_crypto_aead_aes256gcm_encrypt($data, $ad, $nonce, $kengen);
var_dump($pem);
// string(28) "��VRw!�����f��l�O�tV=\x�"
//   
$v = sodium_crypto_aead_aes256gcm_decrypt($pem, $ad, $nonce, $kengen);
var_dump($v);
// string(12) "    "sodium_crypto_aead_aes256gcm_encrypt()암호 화 생 성 된 내용 도 바 이 너 리 내용 이기 때문에 상대 적 으로 매우 안전 한 암호 화 형식 이다.
정보 서명
Sodium 확장 라 이브 러 리 역시 데이터 가 변경 되 었 는 지 검증 하 는 기능 을 가 져 왔 습 니 다.즉,정 보 를 서명 하고 비교 하 는 능력 입 니 다.
//     
$key = sodium_crypto_auth_keygen(); //         
$message = '      ';
//     
$signature = sodium_crypto_auth($message, $key);
var_dump($signature);
// string(32) "�B�
//                9���l�wn�x���ӛc�ܙ�u^j��"
//     
var_dump(sodium_crypto_auth_verify($signature, $message, $key));
// bool(true)Hash
네,잘못 보지 않 았 습 니 다.Sodium 확장 도 우리 에 게 Hash 암호 화 함 수 를 제공 합 니 다.그러나 그것 의 사용 은 좀 복잡 해 야 한다.생 성 된 내용 은 암호 산열 알고리즘 이 생 성 한 내용 과 비슷 하 다.그래도 암호 해시 알고리즘 중의 password 를 사용 하 는 것 을 추천 합 니 다.hash()는 이러한 Hash 암 호 를 생 성 합 니 다.
// Hash
$password = '  Hash';
$hash = sodium_crypto_pwhash_str(
    $password,
    SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, //      
    SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE //   RAM 
);
var_dump($hash);
// string(97) "$argon2id$v=19$m=65536,t=2,p=1$VFfdNV4W0MFwLiLPdr9i6g$QDmd5sQToZANYTVEkPVTbPvbY7tuf1ALKU3IXrF44R0"
//    Hash   
var_dump(sodium_crypto_pwhash_str_verify($hash, $password));
// bool(true)비록 우리 가 평소에 접촉 한 적 이 없 을 수도 있 지만 개발 과정 에서 Sodium 확장 은 실제 적 으로 응용 되 었 다.위 챗 이 모두 이런 암호 화 방식 으로 데이터 암호 화 를 했 으 니 우 리 는 이 를 더욱 깊이 이해 해 야 한다.그러나 정부 가 가능 한 한 빨리 문 서 를 보완 하 기 를 바란다.그렇지 않 으 면 이 확장 안의 내용 을 체계적으로 배 울 수 없다.
테스트 코드:
참고 문서
참고 문서:
https://www.php.net/manual/en/book.sodium.php
https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=19_11
이상 은 PHP 의 Sodium 암호 화 확장 함수 에 대한 상세 한 내용 입 니 다.PHP 의 Sodium 암호 화 확장 함수 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.