.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "EVP_BYTESTOKEY 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EVP_BYTESTOKEY 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم EVP_BytesToKey \- دالة تعمية معتمدة على كلمة السر .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, \& const unsigned char *salt, \& const unsigned char *data, int datal, int count, \& unsigned char *key, unsigned char *iv); .Ve .SH الوصف .IX Header الوصف \&\fBEVP_BytesToKey()\fP تستخرج مفتاحًا ومتجه تهيئة من معاملات متنوعة. \fBtype\fP هو المُعمِّي الذي يُستخرج له المفتاح ومتجه التهيئة. \fBmd\fP هو ملخص الرسالة المستخدم. يُستخدم المعامل \fBsalt\fP كملح في الاستخراج: يجب أن يشير إلى مخزن مؤقت بحجم 8 بايت أو NULL إذا لم يُستخدم ملح. \fBdata\fP هو مخزن مؤقت يحتوي على \&\fBdatal\fP بايت يُستخدم لاستخراج بيانات المفاتيح. \fBcount\fP هو عدد التكرارات المستخدمة. يُكتب المفتاح ومتجه التهيئة المستخرجان إلى \fBkey\fP و \fBiv\fP على التوالي. .SH ملاحظات .IX Header ملاحظات تطبيق نموذجي لهذه الدالة هو استخراج مواد مفاتيح لخوارزمية تعمية من كلمة سر في المعامل \fBdata\fP. .PP زيادة المعامل \fBcount\fP تُبطئ الخوارزمية مما يُصعّب على المهاجم تنفيذ هجوم القوة العمياء باستخدام عدد كبير من كلمات السر المرشحة. .PP إذا كان الطول الإجمالي للمفتاح ومتجه التهيئة أقل من طول الملخص و\&\fBMD5\fP مستخدم، فإن خوارزمية الاستخراج متوافقة مع PKCS#5 v1.5، وإلا يُستخدم امتداد غير قياسي لاستخراج البيانات الإضافية. .PP يجب على التطبيقات الأحدث استخدام خوارزمية أكثر حداثة مثل PBKDF2 كما هو معرف في PKCS#5v2.1 والمقدم بواسطة PKCS5_PBKDF2_HMAC. .SH "خوارزمية استخراج المفتاح" .IX Header "خوارزمية استخراج المفتاح" يُستخرج المفتاح ومتجه التهيئة بدمج D_1, D_2, إلخ حتى تتوفر بيانات كافية للمفتاح ومتجه التهيئة. يُعرف D_i كالتالي: .PP .Vb 1 \& D_i = HASH^count(D_(i\-1) || data || salt) .Ve .PP حيث || يرمز إلى الدمج، D_0 فارغ، HASH هي خوارزمية الملخص المستخدمة، HASH^1(data) هي ببساطة HASH(data)، HASH^2(data) هي HASH(HASH(data)) وهكذا. .PP تُستخدم البايتات الأولية للمفتاح والبايتات التالية لمتجه التهيئة. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" إذا كان \fBdata\fP هو NULL، فإن \fBEVP_BytesToKey()\fP تُرجع عدد البايتات اللازمة لتخزين المفتاح المستخرج. وإلا، تُرجع \fBEVP_BytesToKey()\fP حجم المفتاح المستخرج بالبايت، أو 0 عند حدوث خطأ. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBevp\fP\|(7), \fBRAND_bytes\fP\|(3), \&\fBPKCS5_PBKDF2_HMAC\fP\|(3), \&\fBEVP_EncryptInit\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2001\-2016 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .