RAND_SET_RAND_METHOD(3SSL)

الاسم
RAND_set_rand_method, RAND_get_rand_method, RAND_OpenSSL - اختيار طريقة RAND

موجز
 #include <openssl/rand.h>

الدوال التالية أصبحت مهجورة منذ OpenSSL 3.0، ويمكن إخفاؤها تماماً عن طريق تعريف OPENSSL_API_COMPAT بقيمة إصدار مناسبة، انظر openssl_user_macros(7):

 RAND_METHOD *RAND_OpenSSL(void);

 int RAND_set_rand_method(const RAND_METHOD *meth);

 const RAND_METHOD *RAND_get_rand_method(void);

الوصف
جميع الدوال الموصوفة في هذه الصفحة مهملة. يجب على التطبيقات بدلاً من ذلك استخدام RAND_set_DRBG_type(3) وEVP_RAND(3) وEVP_RAND(7).

يحدد RAND_METHOD الدوال التي يستخدمها OpenSSL لتوليد الأعداد العشوائية.

ترجع RAND_OpenSSL() تطبيق RAND_METHOD المبدئي بواسطة OpenSSL. يضمن هذا التطبيق أن حالة PRNG فريدة لكل خيط.

إذا حُمّل ENGINE يوفر واجهة RAND API، فسيُستخدم بدلاً من الطريقة التي أرجعتها RAND_OpenSSL(). هذا مهمل في OpenSSL 3.0.

تجعل RAND_set_rand_method() meth الطريقة المستخدمة لـ PRNG. إذا كان ENGINE يوفر الطريقة، فسيُحرر أولاً.

ترجع RAND_get_rand_method() مؤشراً إلى RAND_METHOD الحالي.

هيكل RAND_METHOD
 typedef struct rand_meth_st {
     int (*seed)(const void *buf, int num);
     int (*bytes)(unsigned char *buf, int num);
     void (*cleanup)(void);
     int (*add)(const void *buf, int num, double entropy);
     int (*pseudorand)(unsigned char *buf, int num);
     int (*status)(void);
 } RAND_METHOD;

تشير الحقول إلى دوال تُستخدم، بالترتيب، بواسطة RAND_seed() وRAND_bytes() وتنظيف RAND الداخلي وRAND_add() وRAND_pseudo_rand() وRAND_status(). قد يكون كل مؤشر NULL إذا لم تُنفذ الدالة.

القيم المُرجعة
ترجع RAND_set_rand_method() 1 عند النجاح و0 عند الفشل. ترجع RAND_get_rand_method() وRAND_OpenSSL() مؤشرات إلى الطرق المعنية.

انظر أيضًا
EVP_RAND(3) وRAND_set_DRBG_type(3) وRAND_bytes(3) وENGINE_by_id(3) وEVP_RAND(7) وRAND(7)

التاريخ
كل هذه الدوال أصبحت مهجورة في OpenSSL 3.0.

حقوق النسخ
حقوق النشر 2000-2021 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.