Heim  >  Artikel  >  Datenbank  >  Warum gibt AES_DECRYPT() in MySQL ein leeres Ergebnis zurück?

Warum gibt AES_DECRYPT() in MySQL ein leeres Ergebnis zurück?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-11 09:21:03591Durchsuche

Why Does AES_DECRYPT() Return an Empty Result in MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn