با استفاده از تابع 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 به جدول برای اجرای پرس‌وجو ضروری است.

توسط پژوهشگر در 198 روز قبل ساعت 05:25
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 198 روز قبل ساعت 05:25

برای نمایش ایمیل‌های رمزشده در MySQL از AES_DECRYPT استفاده کنید و نتیجه باینری را با CAST(... AS CHAR) یا CONVERT(... USING utf8) تبدیل نمایید. اگر داده‌ها به‌صورت HEX ذخیره شده‌اند ابتدا با UNHEX آن‌ها را به VARBINARY برگردانید و کلید باید دقیقاً همان باشد که برای AES_ENCRYPT استفاده شده است. همچنین قبل از اجرا مطمئن شوید ستون از نوع VARBINARY است و دسترسی SELECT لازم را دارید تا از خطاهای رمزگشایی و مشکلات مربوط به انکودینگ جلوگیری شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری