یک پرس‌وجو بنویسید که ستون email_encrypted از جدول users را با استفاده از تابع AES_DECRYPT و کلید 'my_secret_key' رمزگشایی کرده و مقدار آن را به‌صورت متن خوانا نمایش دهد.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:04

0.0

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

توسط پژوهشگر در 202 روز قبل ساعت 03:04
دسته بندی ها: MySQL MySQL for beginner
nima در 202 روز قبل ساعت 07:37

نکته امنیتی: کلید رمز را نباید به‌صورت مستقیم در کد قرار دهید و دسترسی مناسب به کلید نگهداری شود. هنگام استفاده از AES_DECRYPT، مقدار بازگشتی باینری است و برای نمایش متن باید CAST(... AS CHAR) یا CONVERT(... USING utf8) انجام شود؛ همچنین اگر داده رمزگذاری‌شده به‌صورت هگز ذخیره شده باشد از UNHEX استفاده کنید. توجه کنید که کلید و روش رمزگذاری باید با روشی که هنگام رمزگشایی استفاده می‌شود همخوانی داشته باشد و نیاز به مجوز SELECT مناسب دارید. AES_DECRYPT ممکن است NULL بدهد اگر کلید اشتباه باشد یا داده خراب باشد، بنابراین بررسی مقادیر NULL قبل از نمایش ضروری است.

گزارش

1 پاسخ

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

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