이 글은 주로 PHP의 OpenSSL 암호화와 관련 솔루션에 대해 설명합니다. 암호화는 실제 PHP 개발에서 매우 일반적입니다. PHP의 암호화에 관심이 있는 분들은 함께 공부하시기 바랍니다.
최근 회사의 프로젝트에서 인터페이스 검증을 위해 OpenSSL 암호화 및 Java 측을 사용해야 합니다. 테스트 환경을 PHP7로 업그레이드하면 암호화 오류가 발생합니다. 이후 여러 번 검사한 결과 마침내 원인이 발견되었습니다. :
PHP7 환경에서는 openssl_get_privatekey 메소드가 openssl_pkey_get_private으로 대체됩니다
비밀키를 변환해야 합니다. 윈도우 환경과 Linux 환경의 키 형식에 차이가 있습니다(관련이 있는지는 확실하지 않습니다.) 당분간 운영체제)
PHP의 키 검증에는 헤더 테일을 추가해야 합니다.
첨부된 메소드를 여기에 게시하세요
비밀키 형식 변환 방법:
function transJavaRsaKeyToPhpOpenSSL($content) { if ($content) { return trim(chunk_split($content, 64, "\n")); } return false; }
헤더 및 테일 추가 방법:
function appendFlags($content, $isPublic = true) { if ($isPublic) { return "-----BEGIN PUBLIC KEY-----\n" . $content . "\n-----END PUBLIC KEY-----\n"; } else { return "-----BEGIN PRIVATE KEY-----\n" . $content . "\n-----END PRIVATE KEY-----\n"; } }
위의 내용은 이번에는 OPENSSL 암호화 문제에 대한 약간의 경험이 있으면 아래에 메시지를 남겨 논의하십시오.
관련 권장 사항:
PHP 7.1_php 팁에서 Mcrypt 암호화 및 암호 해독 대신 OpenSSL을 사용하는 방법에 대한 자세한 설명
PHP가 openssl 암호화 및 암호 해독 예제를 사용하는 방법에 대한 자세한 설명
opens sl이 포함된 PHP는 암호화 및 복호화 방법의 기본 구현입니다
위 내용은 PHP_php 팁에서 OpenSSL 암호화 문제 정리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!