ホームページ  >  記事  >  バックエンド開発  >  PHP での OpenSSL の暗号化問題の解決

PHP での OpenSSL の暗号化問題の解決

不言
不言オリジナル
2018-07-11 16:37:331661ブラウズ

この記事では主に PHP における OpenSSL の暗号化問題の解決策を紹介します。これには特定の参考値があります。今、あなたに共有します。困っている友達は参考にしてください。

ニーズがあります。最近の企業プロジェクトでこの問題が発生しました。OpenSSL の暗号化および Java 側に移動してインターフェイスの検証を実行します。テスト環境を PHP7 にアップグレードすると、暗号化エラーが発生します。その後、複数の検査を経て、最終的に原因が判明しました:

  1. # PHP7 環境では ##openssl_get_privatekeyメソッドが openssl_pkey_get_private

  2. に変更されるので変換する必要があります秘密キー。Windows 環境と Linux 環境ではキーの形式が異なります (まだわかりません)。オペレーティング システムに関係していますか?)

  3. 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";
        }
    }
以上がこの記事です 内容はすべて皆さんの学習に役立つことを願っています 関連コンテンツの詳細については、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

以上がPHP での OpenSSL の暗号化問題の解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。