با استفاده از تابع AES_DECRYPT مقدار ستون encrypted_email از جدول users را با کلید 'my_secret_key' رمزگشایی کرده و خروجی را بهصورت ستون decrypted_email نمایش دهید.
24.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 05:25 0.0
برای حل این مسئله از تابع AES_DECRYPT در MySQL استفاده کنید؛ توجه داشته باشید که AES_DECRYPT مقدار باینری برمیگرداند، بنابراین برای نمایش متن باید آن را به CHAR تبدیل کنید مثلاً با CAST(AES_DECRYPT(encrypted_email, 'my_secret_key') AS CHAR) یا CONVERT(AES_DECRYPT(encrypted_email, 'my_secret_key') USING utf8). همچنین مطمئن شوید دادهها در جدول بهصورت VARBINARY ذخیره شدهاند و اگر بهصورت HEX ذخیره شدهاند ابتدا از UNHEX استفاده کنید؛ کلید رمزگذاری باید دقیقاً همان باشد که با AES_ENCRYPT استفاده شده و داشتن دسترسی SELECT به جدول برای اجرای پرسوجو ضروری است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمایش ایمیلهای رمزشده در MySQL از AES_DECRYPT استفاده کنید و نتیجه باینری را با CAST(... AS CHAR) یا CONVERT(... USING utf8) تبدیل نمایید. اگر دادهها بهصورت HEX ذخیره شدهاند ابتدا با UNHEX آنها را به VARBINARY برگردانید و کلید باید دقیقاً همان باشد که برای AES_ENCRYPT استفاده شده است. همچنین قبل از اجرا مطمئن شوید ستون از نوع VARBINARY است و دسترسی SELECT لازم را دارید تا از خطاهای رمزگشایی و مشکلات مربوط به انکودینگ جلوگیری شود.
گزارش