Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum gibt AES_DECRYPT in MySQL eine Binärzeichenfolge anstelle von Klartext zurück?

Susan Sarandon
Freigeben: 2024-11-11 03:50:02
Original
365 Leute haben es durchsucht

Why does AES_DECRYPT return a binary string instead of plaintext in MySQL?

AES-Verschlüsselung und -Entschlüsselung mit MySQL-Funktionen

Bei der Arbeit mit sensiblen Daten ist die Verschlüsselung von entscheidender Bedeutung, um Informationen vor unbefugtem Zugriff zu schützen. MySQL bietet verschiedene Verschlüsselungsfunktionen, einschließlich AES_ENCRYPT und AES_DECRYPT, um Daten zu schützen. Allerdings stoßen einige Benutzer beim Versuch der Entschlüsselung nach der Verschlüsselung mit diesen Funktionen auf Schwierigkeiten.

Problem:

Wenn eine Zeile aus einer Tabelle mit AES_DECRYPT abgefragt wird, nachdem sie mit AES_ENCRYPT verschlüsselt wurde, Das Ergebnis erscheint möglicherweise nicht wie erwartet, sondern als Binärzeichenfolge Klartext.

Lösung:

Laut der MySQL-Dokumentation sollte AES_DECRYPT nach der Entschlüsselung die ursprüngliche Zeichenfolge zurückgeben. Es kann jedoch Situationen geben, in denen immer noch eine Binärzeichenfolge zurückgegeben wird.

Der folgende Code zeigt eine Problemumgehung für dieses Problem:

SELECT *,
       CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt
FROM   user
Nach dem Login kopieren

Durch explizite Umwandlung des entschlüsselten Werts in einen Zeichentyp mit Mit CAST() können Sie sicherstellen, dass es als lesbarer String angezeigt wird. Verwenden Sie in Ihren Abfragen die Spalte „first_name_decrypt“, um den entschlüsselten Klartext anstelle der ursprünglichen Spalte „first_name“ abzurufen.

Das obige ist der detaillierte Inhalt vonWarum gibt AES_DECRYPT in MySQL eine Binärzeichenfolge anstelle von Klartext zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage