الفرق بين المراجعتين لصفحة: «Ruby/String/crypt»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يشفِّر التابع <code>crypt</code> بناءً على القيمة Hash السلسلة النصية التي استدعي معها بطريقة غير قابلة للعكس (one-way cryptographic hash) عبر استدعاء دالة المكتبة القياسية <code>crypt(3)</code> مع السلسلة النصية الإضافية المُمرَّرة إليه. | |||
لمَّا كان نمط التشفير والنتيجة تعتمدان على نظام التشغيل المستعمل، فإن استعمال سلسلةُ نصيةً إضافيةً (salt string) تطابق التعبير النمطي <code>\A[a-zA-Z0-9./]{2}</code> يجب أن يكون صالحًا وآمنًا مهما كان نظام التشغيل المستعمل، إذ أول محرفين فيها مهمَّان لدرجة كبيرة. | |||
يعدُّ هذا التابع مخصَّصًا للاستعمال مع شيفرات مخصصة لنظام محدَّد، لذا إن أردت دالة تشفير عابرة للمنصات عبر القيمة Hash، فاستعمل Digest أو OpenSSL بدلًا منه. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">crypt(salt_str) → new_str</syntaxhighlight> | <syntaxhighlight lang="ruby">crypt(salt_str) → new_str</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>salt_str</code> === | |||
[[Ruby/String|سلسلة نصية]] تمثِّل الطول الإضافي الذي سيضاف إلى السلسلة النصية المعطاة قبل تشفيرها. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
تعاد [[Ruby/String|سلسلة نصية]] جديدة ناتجة عن تشفير السلسلة النصية المعطاة مع الطول الإضافي <code>salt_str</code>. | |||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/String/codepoints|codepoints]]</code>: يُعيد نقاط الترميز المقابلة لمحارف السلسلة النصية في مصفوفة. | |||
* التابع <code>[[Ruby/String/replace|replace]]</code>: يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه. | |||
* التابع <code>[[Ruby/String/unicode normalize|unicode_normalize]]</code>: يعيد نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-crypt قسم التابع crypt في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-crypt قسم التابع crypt في الصنف String في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 19:58، 30 يناير 2019
يشفِّر التابع crypt
بناءً على القيمة Hash السلسلة النصية التي استدعي معها بطريقة غير قابلة للعكس (one-way cryptographic hash) عبر استدعاء دالة المكتبة القياسية crypt(3)
مع السلسلة النصية الإضافية المُمرَّرة إليه.
لمَّا كان نمط التشفير والنتيجة تعتمدان على نظام التشغيل المستعمل، فإن استعمال سلسلةُ نصيةً إضافيةً (salt string) تطابق التعبير النمطي \A[a-zA-Z0-9./]{2}
يجب أن يكون صالحًا وآمنًا مهما كان نظام التشغيل المستعمل، إذ أول محرفين فيها مهمَّان لدرجة كبيرة.
يعدُّ هذا التابع مخصَّصًا للاستعمال مع شيفرات مخصصة لنظام محدَّد، لذا إن أردت دالة تشفير عابرة للمنصات عبر القيمة Hash، فاستعمل Digest أو OpenSSL بدلًا منه.
البنية العامة
crypt(salt_str) → new_str
المعاملات
salt_str
سلسلة نصية تمثِّل الطول الإضافي الذي سيضاف إلى السلسلة النصية المعطاة قبل تشفيرها.
القيمة المعادة
تعاد سلسلة نصية جديدة ناتجة عن تشفير السلسلة النصية المعطاة مع الطول الإضافي salt_str
.
انظر أيضًا
- التابع
codepoints
: يُعيد نقاط الترميز المقابلة لمحارف السلسلة النصية في مصفوفة. - التابع
replace
: يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه. - التابع
unicode_normalize
: يعيد نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة.