ホームページ >データベース >mysql チュートリアル >AES_DECRYPT が MySQL で暗号化されたデータを返すのはなぜですか?
MySQL の AES_ENCRYPT 後に暗号化されたデータを復号化できない
問題ステートメント:
暗号化後MySQL テーブルで AES_ENCRYPT を使用したデータ、試行AES_DECRYPT を使用してデータを復号化すると、復号化された値を表示できなくなります。
解決策:
MySQL マニュアルに従って、AES_DECRYPT は元の文字列を返すことを目的としています。復号化後。ただし、ユーザーは、復号化された値が依然としてバイナリ文字列として返されていることを観察しています。この問題を解決するには、CAST 関数を使用して、復号化された文字列を文字列としてキャストしてみる必要があります。
たとえば、次のクエリは、復号化された first_name 列を 50 文字の文字列としてキャストします。
SELECT *, CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt FROM user
ユーザーは first_name_decrypt 列を使用して、復号化されたデータを読み取り可能な形式で表示できます。
以上がAES_DECRYPT が MySQL で暗号化されたデータを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。