>  기사  >  백엔드 개발  >  PHP에서 OpenSSL의 암호화 문제 해결

PHP에서 OpenSSL의 암호화 문제 해결

不言
不言원래의
2018-07-11 16:37:331594검색

이 글은 주로 PHP에서 OpenSSL의 암호화 문제에 대한 솔루션을 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다.

최근 회사에서 프로젝트 인터페이스 검증을 위해 OpenSSL 암호화 및 Java 측을 사용해야 합니다. 테스트 환경을 PHP7로 업그레이드하면 암호화 오류가 발생합니다. 여러 번 검사한 결과 마침내 원인이 발견되었습니다.

    #🎜🎜 ##🎜 🎜#PHP7 환경
  1. openssl_get_privatekey方法换成openssl_pkey_get_private

  2. 변환이 필요합니다. 윈도우 환경과 리눅스 환경에서는 키 형식이 다릅니다(아직 확실하지 않음). so) 운영체제 관계)
  3. PHP의 비밀키 검증에는 헤더와 테일을 추가해야 합니다.
  4. 첨부된 메소드를 여기에 게시하세요
비밀키 형식을 변환하는 메소드:

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";
        }
    }
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 추천:

PHP 디렉토리 사용자 정의 기능 삭제 방법

위 내용은 PHP에서 OpenSSL의 암호화 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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