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) " "
코드 의 주석 은 관련 함수 와 파 라 메 터 를 상세 하 게 설명 했다.위 챗 결제 에서 이 를 사용 하여 비밀 을 풀 때 ad,key,nonce 등 은 모두 위 챗 에서 제공 되 었 고 우 리 는 프레젠테이션 으로 자신 이 만 든 내용 입 니 다.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에 따라 라이센스가 부여됩니다.