Résoudre le problème de cryptage d'OpenSSL en PHP

不言
Libérer: 2023-04-03 06:28:01
original
1609 Les gens l'ont consulté

Cet article présente principalement la solution au problème de cryptage d'OpenSSL en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Il est nécessaire ces derniers temps. projets de l'entreprise. Vérifiez l'interface côté chiffrement et java d'OpenSSL. Lorsque l'environnement de test est mis à niveau vers PHP7, une erreur de chiffrement se produira après plusieurs inspections, la cause est enfin trouvée :

  1. <.>Dans l'environnement PHP7

    La méthode est modifiée en openssl_get_privatekeyopenssl_pkey_get_private

  2. Vous devez convertir la clé secrète. Il existe une différence entre le format de clé dans l'environnement fenêtre et dans l'environnement. Environnement Linux (je ne sais pas si cela est lié au système d'exploitation)

  3. La vérification de la clé secrète de PHP nécessite l'en-tête et la queue.

Publiez la méthode ci-jointe ici

Méthode pour convertir le format de la clé secrète :

function transJavaRsaKeyToPhpOpenSSL($content) {
        if ($content) {
            return trim(chunk_split($content, 64, "\n"));
        }
        return false;
    }
Copier après la connexion
Méthode pour ajouter un en-tête et une queue :

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";
        }
    }
Copier après la connexion
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!