


Explication détaillée du cryptage, du décryptage, de la signature et de la vérification de la signature php rsa
Dec 30, 2016 am 09:21 AMChiffrement, décryptage, signature, vérification de signature php rsa
étant donné que l'organisation tierce utilise la version Java de la méthode de cryptage et de décryptage rsa, je viens de commencer à trouver de nombreuses versions PHP de cryptage et de décryptage rsa sur Internet. Mais la plupart d’entre eux ne sont pas adaptés à l’amarrage avec Java.
La version php suivante convient à l'amarrage avec l'interface Java. La clé Java applicable doit être ajoutée lors de l'utilisation du langage php
-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
Clé publique de chiffrement public_key.cer
<?php class RSAUtils{ //加密公鑰 function redPukey() { //拼接加密公鑰路徑 $encryptionKeyPath="D:/encryptions.cer"; $encryptionKey4Server = file_get_contents($encryptionKeyPath); $pem = chunk_split(base64_encode($encryptionKey4Server),64,"\n");//轉(zhuǎn)換為pem格式的公鑰 $pem = "-----BEGIN CERTIFICATE-----\n".$pem."-----END CERTIFICATE-----\n"; $publicKey = openssl_pkey_get_public($pem); return $publicKey; } //解密私鑰 function redPikey() { //拼接解密私鑰路徑 $decryptKeyPath="D:/decrypts.key"; $decryptKey4Server = file_get_contents($decryptKeyPath); $pem = chunk_split($decryptKey4Server,64,"\n");//轉(zhuǎn)換為pem格式的私鑰 $pem = "-----BEGIN PRIVATE KEY-----\n".$pem."-----END PRIVATE KEY-----\n"; $privateKey = openssl_pkey_get_private($pem); return $privateKey; } //簽名私鑰 function redSignkey() { //拼接簽名路徑 $signKeyPath="D:/DEMO/sign.key"; $signKey4Server = file_get_contents($signKeyPath); $pem = chunk_split($signKey4Server,64,"\n");//轉(zhuǎn)換為pem格式的私鑰 $pem = "-----BEGIN PRIVATE KEY-----\n".$pem."-----END PRIVATE KEY-----\n"; $signKey = openssl_pkey_get_private($pem); return $signKey; } //驗(yàn)簽公鑰 function redVerifykey() { //拼接驗(yàn)簽路徑 $verifyKeyPath="D:/DEMO/verify.cer"; $verifyKey4Server = file_get_contents($verifyKeyPath); $pem = chunk_split(base64_encode($verifyKey4Server),64,"\n");//轉(zhuǎn)換為pem格式的公鑰 $pem = "-----BEGIN CERTIFICATE-----\n".$pem."-----END CERTIFICATE-----\n"; $verifyKey = openssl_pkey_get_public($pem); return $verifyKey; } //公鑰加密 function pubkeyEncrypt($source_data, $pu_key) { $data = ""; $dataArray = str_split($source_data, 117); foreach ($dataArray as $value) { $encryptedTemp = ""; openssl_public_encrypt($value,$encryptedTemp,$pu_key);//公鑰加密 $data .= base64_encode($encryptedTemp); } return $data; } //私鑰解密 function pikeyDecrypt($eccryptData,$decryptKey) { $decrypted = ""; $decodeStr = base64_decode($eccryptData); $enArray = str_split($decodeStr, 256); foreach ($enArray as $va) { openssl_private_decrypt($va,$decryptedTemp,$decryptKey);//私鑰解密 $decrypted .= $decryptedTemp; } return $decrypted; } } ?>
Comme suit?: $oid=base64_decode(str_replace (" "," ",$_GET[oid]));
Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci vous pour votre soutien à ce site !
Pour plus d'articles sur le chiffrement, le décryptage, la signature et la vérification de signature php rsa, veuillez faire attention au site Web PHP chinois?!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)