الانتقال إلى المحتوى الرئيسي
تُنفِّذ هذه الدوال تشفير البيانات وفك تشفيرها باستخدام خوارزمية AES ‏(Advanced Encryption Standard). يعتمد طول المفتاح على وضع التشفير: 16 و24 و32 بايتًا لأوضاع -128- و-196- و-256- على الترتيب. يكون طول متجه التهيئة دائمًا 16 بايتًا (وتُتجاهل البايتات التي تتجاوز 16).

HMAC

استُحدث في: v25.12.0 يحسب HMAC ‏(رمز توثيق الرسائل المعتمد على التجزئة) للرسالة المحددة باستخدام خوارزمية التجزئة والمفتاح السري المحددين. خوارزميات التجزئة المدعومة:
  • blake2b512
  • blake2s256
  • md4
  • md5
  • md5-sha1
  • mdc2
  • ripemd (أسماء بديلة: RIPEMD160, ripemd)
  • ripemd160
  • rmd160 (أسماء بديلة: RIPEMD160, rmd160)
  • sha1
  • sha224
  • sha256
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • sha384
  • sha512
  • sha512-224
  • sha512-256
  • shake128
  • shake256
  • sm3
  • ssl3-md5 (أسماء بديلة: MD5, ssl3-md5)
  • ssl3-sha1 (أسماء بديلة: SHA1, ssl3-sha1)
  • whirlpool
الصيغة
الوسائط
  • mode — اسم خوارزمية التجزئة (غير حساس لحالة الأحرف). الخوارزميات المدعومة: md5, sha1, sha224, sha256, sha384, sha512. String
  • message — الرسالة المطلوب توثيقها. String
  • key — المفتاح السري لـ HMAC. String
القيمة المُعادة تعيد سلسلة ثنائية تحتوي على بصمة HMAC. String أمثلة HMAC-SHA256 الأساسي
Query
Response
خوارزميات تجزئة مختلفة
Query
Response
وضع عدم التفريق بين حالة الأحرف
Query
Response

aes_decrypt_mysql

أُضيف في: v20.12.0 يفك تشفير البيانات التي شُفّرت باستخدام الدالة AES_ENCRYPT في MySQL. وينتج النص الواضح نفسه الذي تنتجه decrypt عند استخدام المدخلات نفسها. وعندما يكون key أو iv أطول من المعتاد، فإن aes_decrypt_mysql يلتزم بسلوك aes_decrypt في MySQL، أي “طيّ” key وتجاهل البتات الزائدة في IV. يدعم أوضاع فك التشفير التالية:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-cfb128
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
البنية
المعاملات
  • mode — وضع فك التشفير. String
  • ciphertext — نص مشفّر يجب فك تشفيره. String
  • key — مفتاح فك التشفير. String
  • iv — اختياري. متجه التهيئة. String
القيمة المُعادة تُرجِع قيمة String بعد فك تشفيرها. String أمثلة فك تشفير بيانات MySQL
Query
Response

aes_encrypt_mysql

قُدِّمت في: v20.12.0 تشفّر النص بالطريقة نفسها التي تعمل بها الدالة AES_ENCRYPT في MySQL. يمكن فك تشفير النص المشفّر الناتج باستخدام الدالة AES_DECRYPT في MySQL. وتُنتج النص المشفّر نفسه الذي تُنتجه الدالة encrypt للمدخلات نفسها. عندما يكون key أو iv أطول من المعتاد، تلتزم aes_encrypt_mysql بما تفعله aes_encrypt في MySQL، أي “طيّ” key وتجاهل البتات الزائدة في iv. أوضاع التشفير المدعومة هي:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
الصيغة
الوسائط
  • mode — وضع التشفير. String
  • plaintext — النص الصريح المطلوب تشفيره. String
  • key — مفتاح التشفير. إذا كان المفتاح أطول مما يتطلبه mode، فسيُطبَّق طيّ المفتاح الخاص بـ MySQL. String
  • iv — اختياري. متجه التهيئة. لا يُؤخذ في الاعتبار إلا أول 16 بايت. String
القيمة المُعادة سلسلة ثنائية تمثل النص المُشفَّر. String أمثلة مقارنة المدخلات المتطابقة
Query
Response
فشل التشفير عند استخدام مفتاح طويل
Query
Response
التوافق مع MySQL
Query
Response
يؤدي IV الأطول إلى النتيجة نفسها
Query
Response

decrypt

أُضيفت في: v20.12.0 تفك هذه الدالة تشفير سلسلة ثنائية مشفّرة بخوارزمية AES باستخدام الأوضاع التالية:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
البنية
الوسائط
  • mode — وضع فك التشفير. String
  • ciphertext — النص المشفّر المطلوب فك تشفيره. String
  • key — مفتاح فك التشفير. String
  • iv — متجه التهيئة. مطلوب لأوضاع -gcm، واختياري لغيرها. String
  • aad — البيانات الإضافية الموثَّقة. لن يتم فك التشفير إذا كانت هذه القيمة غير صحيحة. يعمل فقط مع أوضاع -gcm، أما مع غيرها فيُطلق استثناءً. String
القيمة المُعادة يعيد النص الصريح بعد فك التشفير. String أمثلة فك تشفير البيانات المشفّرة بشكل صحيح
Query
Response
فك تشفير البيانات المشفّرة بطريقة غير صحيحة
Query
Response

encrypt

أُضيفت في: v20.12.0 تُشفِّر نصًا صريحًا إلى نص مشفّر باستخدام AES بأحد الأوضاع التالية:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
البنية
الوسيطات
  • mode — وضع التشفير. String
  • plaintext — النص الصريح المراد تشفيره. String
  • key — مفتاح التشفير. String
  • iv — متجه التهيئة. وهو مطلوب لأوضاع -gcm، واختياري لغيرها. String
  • aad — بيانات إضافية موثَّقة. لا تُشفَّر، لكنها تؤثر في عملية فك التشفير. تعمل فقط في أوضاع -gcm، أما في غيرها فترفع استثناءً. String
القيمة المعادة تعيد نصًا ثنائيًا مشفّرًا. String أمثلة مثال على التشفير
Query
Response
مثال على نمط GCM
Query
Response

tryDecrypt

استُحدثت في: v22.10.0 تشبه الدالة decrypt، لكنها تُرجع NULL إذا فشل فك التشفير عند استخدام المفتاح الخاطئ. الصيغة
المعاملات
  • mode — وضع فك التشفير. String
  • ciphertext — النص المشفّر المطلوب فك تشفيره. String
  • key — مفتاح فك التشفير. String
  • iv — اختياري. متجه التهيئة. مطلوب لأوضاع -gcm، واختياري للأوضاع الأخرى. String
  • aad — اختياري. بيانات إضافية موثَّقة. لن تنجح عملية فك التشفير إذا كانت هذه القيمة غير صحيحة. يعمل فقط في أوضاع -gcm، وفي الأوضاع الأخرى يُطلِق استثناءً. String
القيمة المعادة يعيد String بعد فك تشفيره، أو NULL إذا فشلت عملية فك التشفير. Nullable(String) أمثلة إنشاء جدول وإدراج البيانات
Query
Response
آخر تعديل في ٢ يوليو ٢٠٢٦