Fehlerbehebung bei AES_DECRYPT-Fehlern in MySQL
Beim Versuch, zuvor mit AES_ENCRYPT() verschlüsselte Daten zu entschlüsseln, kann es zu einem Problem kommen, bei dem AES_DECRYPT() gibt ein leeres Ergebnis zurück. Dies kann frustrierend sein, da auf Ihre verschlüsselten Daten weiterhin nicht zugegriffen werden kann.
Laut der MySQL-Dokumentation wird erwartet, dass AES_DECRYPT() nach der Entschlüsselung einer verschlüsselten Zeichenfolge die ursprüngliche Zeichenfolge zurückgibt. In einigen Fällen wird jedoch möglicherweise stattdessen eine binäre Zeichenfolge zurückgegeben.
Um dieses Problem zu beheben, versuchen Sie Folgendes:
SELECT *, CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt FROM user
Diese Abfrage verwendet die CAST()-Funktion, um das Entschlüsselte zu konvertieren Binärzeichenfolge in eine CHAR-Zeichenfolge um, die ordnungsgemäß angezeigt werden kann. Anstatt „Vorname“ in Ihren nachfolgenden Abfragen oder Anwendungen zu verwenden, verwenden Sie „Vorname_decrypt“, um auf die entschlüsselten Daten zuzugreifen.
Das obige ist der detaillierte Inhalt vonWarum gibt AES_DECRYPT() in MySQL ein leeres Ergebnis zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!