Heim > Artikel > Backend-Entwicklung > javascript - Welche Methode verwendet JS, um Ajax-Post-Daten zu verschlüsseln und zur Entschlüsselung an PHP zu übertragen?
Da ich beim Ajax-Posten keinen einfachen Text übertragen möchte, möchte ich ein js-Objekt mit js in eine Zeichenfolge oder Binärzeichenfolge zur Übertragung verschlüsseln, weiß aber nicht, wie ich es verschlüsseln soll, und das hier Verschlüsselte Zeichenfolge muss auf der PHP-Seite entschlüsselt werden. Es ist am besten, nach der Entschlüsselung ein PHP-Array zu haben. Wissen Sie, wie Sie dies erreichen können?
Da ich beim Ajax-Posten keinen einfachen Text übertragen möchte, möchte ich ein js-Objekt mit js in eine Zeichenfolge oder Binärzeichenfolge zur Übertragung verschlüsseln, weiß aber nicht, wie ich es verschlüsseln soll, und das hier Verschlüsselte Zeichenfolge muss auf der PHP-Seite entschlüsselt werden. Es ist am besten, nach der Entschlüsselung ein PHP-Array zu haben. Wissen Sie, wie Sie dies erreichen können?
Zuallererst können Krypto-JS Ihr Problem lösen. Wählen Sie einen symmetrischen Verschlüsselungsalgorithmus (z. B. AES-256-CBC), verwenden Sie das AES-Passwort zum Verschlüsseln auf der PHP-Seite und verwenden Sie das AES-Passwort zum Entschlüsseln auf der JS-Seite – dies macht jedoch nicht viel Sinn, da Ihre Passwörter bereits vorhanden sind im Klartext im js-Code ausgedrückt.
Wenn Sie also Untext übertragen möchten, empfiehlt es sich, eine asymmetrische Verschlüsselung auf der Transportschicht durchzuführen. Der einfachste Weg besteht darin, das Serverprotokoll von HTTP auf HTTPs zu ändern.
Sie können einen asymmetrischen Verschlüsselungsalgorithmus verwenden, der mit dem öffentlichen Schlüssel im Browser verschlüsselt und mit dem privaten Schlüssel auf der Serverseite entschlüsselt. Das jsencrypt-Projekt unterstützt die RSA-Verschlüsselung. Sie müssen lediglich openssl
verwenden, um ein Schlüsselpaar zu generieren, und dann den öffentlichen Schlüssel in die Seite einfügen. PHP kann mithilfe der OpenSSL-Funktionsreihe entschlüsseln.
Die verschlüsselten und entschlüsselten Daten sind allesamt Zeichenfolgen. Wenn Sie das Array erhalten möchten, können Sie ein Objekt in JS erstellen, es dann anpassen JSON.stringify
und dann verschlüsseln. Was PHP dekodiert, ist ein JSON-String, und Sie können ihn mit der Funktion json_decode dekodieren, um ein Array zu erhalten.