الفرق بين المراجعتين لصفحة: «Ruby/String/crypt»

من موسوعة حسوب
< Ruby‏ | String
إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".
 
إضافة المحتوى
 
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby String]]
[[تصنيف: Ruby String]]
يعيد التابع <code>crypt</code> ب
يشفِّر التابع <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، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة.

مصادر