"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يقوم AES_DECRYPT() بإرجاع نتيجة فارغة في MySQL؟

لماذا يقوم AES_DECRYPT() بإرجاع نتيجة فارغة في MySQL؟

تم النشر بتاريخ 2024-11-13
تصفح:709

Why Does AES_DECRYPT() Return an Empty Result in MySQL?

استكشاف أخطاء فشل AES_DECRYPT في MySQL

عند محاولة فك تشفير البيانات المشفرة مسبقًا باستخدام AES_ENCRYPT()، قد تواجه مشكلة حيث AES_DECRYPT() إرجاع نتيجة فارغة. قد يكون هذا محبطًا، حيث تظل بياناتك المشفرة غير قابلة للوصول.

وفقًا لوثائق MySQL، من المتوقع أن يقوم AES_DECRYPT() بإرجاع السلسلة الأصلية بعد فك تشفير سلسلة مشفرة. ومع ذلك، في بعض الحالات، قد يُرجع سلسلة ثنائية بدلاً من ذلك.

لحل هذه المشكلة، جرب ما يلي:

SELECT *,
       CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt
FROM   user

يستخدم هذا الاستعلام الدالة CAST () لتحويل السلسلة الثنائية التي تم فك تشفيرها إلى سلسلة CHAR، والتي يمكن عرضها بشكل صحيح. بدلاً من استخدام "first_name" في استعلاماتك أو تطبيقاتك اللاحقة، استخدم "first_name_decrypt" للوصول إلى البيانات التي تم فك تشفيرها.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3