Upgrade meiner Verschlüsselungsbibliothek von McRypt auf OpenSSL
Kann ich meine Verschlüsselungsbibliothek von McRypt nach OpenSsl aufrüsten? Ist es in OpenSSL möglich, Daten mit McRypt zu entschlüsseln? Zwei verschiedene Beiträge liefern widersprüchliche Informationen.
Frage: Ist es möglich, meine Verschlüsselungsbibliothek von McRypt auf OpenSSL zu aktualisieren? Wenn ja, wie?
Antwort: Ja, es ist möglich, Ihre Verschlüsselungsbibliothek von McRypt auf OpenSSL zu aktualisieren. Möglicherweise entschlüsselt Daten mit McRypt mit OpenSSL.
Hier ist ein Code -Beispiel dafür, wie Sie Daten entschlüsseln können, die mit McRypt mit OpenSSSL verschlüsselt werden können:
öffentliche Funktion entschlüsselt ($ Daten, $ key) {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{&)) entschlüsseln “können, entschlüsseln. $ salt = substr ($ data, 0, 128); $ ENC = substr ($ data, 128, -64); $ mac = substr ($ data, -64); Liste ($ cipherkey, $ mackey, $ iv) = $ this-> getKeys ($ salt, $ key); if ($ mac! false zurückgeben; } $ dec = opensensl_decrypt ($ Enc, $ this-> cipher, $ cipherkey, OpenSSL_RAW_DATA, $ IV); Return $ Dec; }
Zusätzliche Hinweise:Die opensensl_decrypt () erfordert, dass der IV -Parameter die gleiche Länge wie die Blockgröße des Kipphers ist. OpenSSL_DECRYPT () -Funktion im CBC -Modus.
public function decrypt($data, $key) { $salt = substr($data, 0, 128); $enc = substr($data, 128, -64); $mac = substr($data, -64); list ($cipherKey, $macKey, $iv) = $this->getKeys($salt, $key); if ($mac !== hash_hmac('sha512', $enc, $macKey, true)) { return false; } $dec = openssl_decrypt($enc, $this->cipher, $cipherKey, OPENSSL_RAW_DATA, $iv); return $dec; }
test:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3