Ankündigung

Einklappen
Keine Ankündigung bisher.

AES Entschlüsselung in MySQL klappt nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AES Entschlüsselung in MySQL klappt nicht

    Liebes PHP.de Forum,

    Ich habe eine test.php Datei erstellt, welche folgenden Code ausführt:
    PHP-Code:
    <?php
        
    echo(openssl_encrypt("Text""aes-128-cbc""Schlüssel"));
    ?>
    Dieser Code gibt folgendes aus:
    Code:
    ihR8PJU0EJFVnxmgGxMhpQ==
    Wenn ich nun diesen Text über PHP entschlüsseln möchte, kommt "Text" als Antwort. Wenn ich aber versuche, diesen Text in MySQL zu entschlüsseln, bekomme ich
    Code:
    +------------------------------------------------------+
    | AES_DECRYPT("ihR8PJU0EJFVnxmgGxMhpQ==", "Schlüssel") |
    +------------------------------------------------------+
    | NULL                                                 |
    +------------------------------------------------------+
    1 row in set (0.005 sec)
    als Antwort. Mache ich etwas falsch?
    Hier mein Code zum Entschlüsseln:
    PHP-Code:
    echo(openssl_decrypt("ihR8PJU0EJFVnxmgGxMhpQ==""aes-128-cbc""Schlüssel")); // Funktioniert 
    Code:
    SELECT AES_DECRYPT("ihR8PJU0EJFVnxmgGxMhpQ==", "Schlüssel");
    Vielen Dank im Voraus!

    PS: Ich verwende MariaDB 10.4.11 und PHP 7.4.5.

  • #2
    AES_DECRYPT() fangt mit einem Base64-kodierten Wert nichts an. Du musst in vorher mit FROM_BASE64() dekodieren.

    Code:
    SELECT AES_DECRYPT(FROM_BASE64("ihR8PJU0EJFVnxmgGxMhpQ=="), "Schlüssel")

    Kommentar


    • #3
      Alternativ kann man auch AES_ENCRYPT() zum Verschlüsseln verwenden.

      Kommentar


      • #4
        Hallo hellbringer,

        Danke für deine Antwort, aber auch das funktioniert irgendwie nicht. Ich bekomme immer noch NULL als Antwort:
        Code:
        +-------------------------------------------------------------------+
        | AES_DECRYPT(FROM_BASE64("ihR8PJU0EJFVnxmgGxMhpQ=="), "Schlüssel") |
        +-------------------------------------------------------------------+
        | NULL                                                              |
        +-------------------------------------------------------------------+
        1 row in set (0.001 sec)

        Kommentar


        • #5
          Zitat von nicom Beitrag anzeigen
          Hallo hellbringer,

          Danke für deine Antwort, aber auch das funktioniert irgendwie nicht. Ich bekomme immer noch NULL als Antwort:
          Code:
          +-------------------------------------------------------------------+
          | AES_DECRYPT(FROM_BASE64("ihR8PJU0EJFVnxmgGxMhpQ=="), "Schlüssel") |
          +-------------------------------------------------------------------+
          | NULL |
          +-------------------------------------------------------------------+
          1 row in set (0.001 sec)
          Liegt vermutlich an der Zeichenkodierung. Probier mal einen Schlüssel ohne Umlaute.

          Kommentar


          • #6
            Vielen Dank hellbringer, es hat funktioniert!

            Kommentar

            Lädt...
            X