در MySQL یک جدول users بسازید که فیلد password را هنگام INSERT با تابع AES_ENCRYPT و کلید 'my_secret_key' رمزنگاری کند و یک کوئری بنویسید که با استفاده از AES_DECRYPT مقدار رمزنگاری‌شده را به متن قابل خواندن تبدیل کند.

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

0.0

ابتدا جدولی با فیلد مناسب برای نگهداری دادهٔ رمزنگاری‌شده (مثلاً VARBINARY یا BLOB) ایجاد کنید، سپس هنگام وارد کردن رمز از AES_ENCRYPT('plain_password','my_secret_key') استفاده کنید. برای بازخوانی، از AES_DECRYPT(password,'my_secret_key') همراه با CAST(... AS CHAR) برای نمایش رشتهٔ بازشده بهره ببرید. توجه کنید کلید را امن نگهدارید و برای سازگاری نسخهٔ MySQL به مستندات مربوط به حالت‌های AES و مدیریت IV مراجعه کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:48
دسته بندی ها: MySQL MySQL for beginner
arash در 202 روز قبل ساعت 08:23

برای رمزنگاری با AES_ENCRYPT در MySQL، فیلد password را به‌ صورت VARBINARY یا BLOB تعریف کنید تا داده‌های رمزنگاری‌شده به خوبی ذخیره شوند. در INSERT از AES_ENCRYPT('plain_password','my_secret_key') استفاده کنید و کلید را به‌درستی مدیریت و امن نگه دارید. برای بازیابی مقدار رمزنگاری‌شده، از AES_DECRYPT(password,'my_secret_key') استفاده کنید و نتیجه را با CAST(... AS CHAR) به رشتهٔ قابل‌خواندن تبدیل کنید. اگر هدف شما فقط نگهداری رمز عبور است، بهتر است از hashing یک‌طرفه مانند bcrypt یا Argon2 استفاده کنید و کلید را فقط برای داده‌های قابل بازیابی نگه دارید.

گزارش

1 پاسخ

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

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