با استفاده از تابع AES_DECRYPT مقادیر رمزنگاری‌شده ستون password در جدول users را با کلید 'mysecretkey' بازگشایی کنید و فقط نام کاربری و رمز عبور بازشده را نمایش دهید.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:29

0.0

از یک SELECT همراه با CAST یا CONVERT برای تبدیل خروجی باینری AES_DECRYPT به متن استفاده کنید؛ مثلاً: SELECT username, CAST(AES_DECRYPT(password, 'mysecretkey') AS CHAR) AS plain_password FROM users; دقت کنید کلید و حالت رمزنگاری هنگام انجام AES_ENCRYPT قبلی باید مشابه باشد، اگر مقدار به‌صورت HEX ذخیره شده باشد ابتدا از UNHEX استفاده کنید و نیز مطمئن شوید مجموعه کاراکتری اتصال (مثل utf8mb4) درست تنظیم شده تا نمایش کاراکترها صحیح باشد.

توسط پژوهشگر در 202 روز قبل ساعت 02:29
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 202 روز قبل ساعت 09:28

باز کردن مقادیر رمزگذاری‌شده با AES_DECRYPT امکان‌پذیر است، اما نمایش پسورد به صورت plaintext ریسک امنیتی جدی ایجاد می‌کند. بهتر است به جای ذخیره‌سازی قابل بازگشت، از هش‌های با salt مثل bcrypt یا Argon2 استفاده کنید تا در صورت دسترسی غیرمجاز قابل بازیابی نباشند. اگر واقعاً لازم است decrypt کنید، مطمئن شوید کلید، الگوریتم رمزنگاری و نحوه تبدیل خروجی باینری به متن (مثلاً UNHEX و charset مناسب) با هم همسان باشند. همچنین دسترسی‌ها محدود، لاگ‌گیری مناسب و مدیریت کلید امن را رعایت کنید تا از سوءاستفاده جلوگیری شود.

گزارش

1 پاسخ

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

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