در 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 مراجعه کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای رمزنگاری با 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 استفاده کنید و کلید را فقط برای دادههای قابل بازیابی نگه دارید.
گزارش