Cet article vous explique principalement les problèmes rencontrés dans le cryptage OpenSSL en PHP et les solutions associées. Le cryptage est très courant dans le développement actuel de PHP. intéressé par le chiffrement en PHP, vous pouvez vous y référer et apprendre ensemble.
Récemment, dans les projets de l'entreprise, il a été nécessaire d'utiliser le cryptage OpenSSL et le côté Java pour la vérification de l'interface Lorsque l'environnement de test a été mis à niveau vers PHP7, une erreur de cryptage s'est produite après plusieurs inspections. , la raison a finalement été trouvée. Emplacement :
Dans l'environnement PHP7, remplacez la méthode openssl_get_privatekey par openssl_pkey_get_private
Vous devez convertir la clé secrète. format dans l'environnement fenêtre et l'environnement Linux (Je ne sais pas si c'est lié au système d'exploitation pour le moment)
La vérification de la clé PHP nécessite l'ajout d'un en-tête et d'une queue.
Collez 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; }
Méthode d'ajout d'en-tête et de 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"; } }
Ce qui précède est le problème rencontré avec OPENSSL cryptage cette fois Un peu d'expérience, si vous avez encore des questions, veuillez laisser un message ci-dessous pour en discuter.
Recommandations associées :
Explication détaillée de la façon dont PHP utilise des exemples de cryptage et de décryptage openssl
Méthode de cryptage et de décryptage php basée sur openssl
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!