במספר מערכות הפעלה, פונקציה זו מתנהגת אחרת. במהלך ההתקנה, PHP בוחנת את האלגוריתמים הזמינים והמומלצים. פונקציה זו כלולה ב-PHP גרסה 4 ואילך ומקבלת פרמטר חובה אחד ופרמטר אופציונלי אחד.
תחביר
תחביר פשוט ואחריו ה- כּוּך() הפונקציה ניתנת להלן:
כּוּך ( $str , $מלח )
הפונקציה מקבלת שני פרמטרים:
- $str: פרמטר זה הוא מחרוזת שברצונך להצפין. המחרוזת הזו עלולה להיחתך במהלך יצירת ה-hash, מה שאומר שהיא לא תיקח את המחרוזת כולה בחשבון בהתבסס על סוג ה-hash.
- $מלח: פרמטר זה משמש לבחירת שיטת הגיבוב.
פונקציה זו תחזיר מחרוזת מוצפנת.
כיצד להשתמש בפונקציית crypt() ב-PHP?
ה כּוּך() ניתן להשתמש בפונקציה ב-PHP עם אלגוריתמי גיבוב קריפטוגרפיים שונים כדי להצפין מחרוזת; הנה כמה דוגמאות לשימוש כּוּך() עם אלגוריתמי גיבוב שונים:
- משתמש ב-CRYPT_STD_DES
- משתמש ב-CRYPT_EXT_DES
- באמצעות CRYPT_MD5
- משתמש ב-CRYPT_BLOWFISH
- באמצעות CRYPT_SHA256
- באמצעות CRYPT_SHA512
בואו נסביר את השיטות הללו בפירוט.
1: באמצעות CRYPT_STD_DES
ה CRYPT_STD_DES הוא אחד מאלגוריתמי הגיבוב הנתמכים על ידי כּוּך() פונקציה ב-PHP המשתמשת ב- תקן DES (תקן הצפנת נתונים) אלגוריתם להצפנה. כשמשתמש CRYPT_STD_DES , עליך לספק ערך מלח בן שני תווים כארגומנט השני ל- כּוּך() פוּנקצִיָה. ערך המלח מציין את וריאציה ומורכבות המפתח של תהליך ההצפנה.
לדוגמה:
אם ( CRYPT_STD_DES == 1 ) {
הֵד 'תקן DES: ' . כּוּך ( 'ברוכים הבאים ל-linuxhint' , 'str' ) . ' \n ' ;
} אַחֵר {
הֵד 'אין לתמוך ב-DES סטנדרטי. \n ' ;
}
?>
2: שימוש ב-CRYPT_EXT_DES
ה CRYPT_EXT_DES הוא אלגוריתם גיבוב נוסף שנתמך על ידי כּוּך() פונקציה המשתמשת ב- DES מורחב (תקן הצפנת נתונים) אלגוריתם להצפנה. DES מורחב הוא הרחבה של אלגוריתם DES המקורי, המספק מרחב מפתח גדול יותר ואבטחה משופרת.
להשתמש CRYPT_EXT_DES , עליך לספק ערך מלח שמתחיל ב _J9 ואחריו תווים נוספים.
לדוגמה:
אם ( CRYPT_EXT_DES == 1 ) {
הֵד 'DES מורחב:' . כּוּך ( 'ברוכים הבאים ל-linuxhint' , '_J9..דוטה' ) . ' \n ' ;
} אַחֵר {
הֵד 'אין לתמוך ב-Extended DES. \n ' ;
}
?>
3: באמצעות CRYPT_MD5
ה CRYPT_MD5 הוא אחד מאלגוריתמי הגיבוב הנתמכים על ידי כּוּך() פונקציה ב-PHP המשתמשת ב- MD5 (Message Digest Algorithm 5 מייצר ערך hash של 128 סיביות (16 בתים). ) אלגוריתם להצפנה.
להשתמש CRYPT_MD5 , עליך לספק ערך מלח שמתחיל ב $1$ ואחריו כמה דמויות.
לדוגמה:
אם ( CRYPT_MD5 == 1 ) {
הֵד 'MD5: ' . כּוּך ( 'ברוכים הבאים ל-linuxhint' , '$1$מנסה$' ) . ' \n ' ;
} אַחֵר {
הֵד 'לא תומך ב-MD5. \n ' ;
}
?>
4: שימוש ב-CRYPT_BLOWFISH
ה CRYPT_BLOWFISH הוא אלגוריתם הגיבוב המומלץ ביותר הנתמך על ידי כּוּך() פונקציה ב-PHP המשתמשת באלגוריתם Blowfish להצפנה. Blowfish הוא צופן בלוק סימטרי שידוע באבטחה החזקה שלו. להשתמש CRYPT_BLOWFISH , אתה צריך לספק ערך מלח, שמתחיל ב $2Y$ אוֹ $2a$ , ואחריו פרמטר עלות דו ספרתי, ולאחר מכן ערך המלח בפועל.
לדוגמה:
אם ( CRYPT_BLOWFISH == 1 ) {
הֵד 'Blowfish:' .
כּוּך ( 'ברוכים הבאים ל-linuxhint' , '$2y$12$mkstringexforsaltparam' ) .
' \n ' ;
} אַחֵר {
הֵד 'אל תתמוך ב-Blowfish. \n ' ;
}
?>
5: שימוש ב-CRYPT_SHA256
אלגוריתם גיבוב נוסף נתמך על ידי כּוּך() הפונקציה היא ה CRYPT_SHA256 שמשתמש באלגוריתם SHA-256 (מייצר ערך hash של 256 סיביות (32 בייט) להצפנה. להשתמש CRYPT_SHA256 , אתה צריך לספק ערך מלח, שמתחיל ב $5$ , ואחריו פרמטר עלות דו ספרתי, ולאחר מכן ערך המלח בפועל
לדוגמה:
אם ( CRYPT_SHA256 == 1 ) {
הֵד 'SHA-256: ' .
כּוּך ( 'ברוכים הבאים ל-linuxhint' , '$5$mkstringexforsaltparam$' ) .
' \n ' ;
} אַחֵר {
הֵד 'אין לתמוך ב-SHA256. \n ' ;
}
?>
6: באמצעות CRYPT_SHA512
ה CRYPT_SHA512 הוא אלגוריתם גיבוב שימושי נוסף הנתמך על ידי כּוּך() פונקציה ב-PHP המשתמשת ב- SHA-512 אלגוריתם להצפנה. SHA-512 היא פונקציית גיבוב קריפטוגרפית בשימוש נרחב שיוצרת ערך גיבוב של 512 סיביות (64 בתים). להשתמש CRYPT_SHA512 , אתה צריך לספק ערך מלח, שמתחיל ב $6$ , ואחריו פרמטר עלות דו ספרתי, ולאחר מכן ערך המלח בפועל
לדוגמה:
אם ( CRYPT_SHA512 == 1 ) {
הֵד 'SHA-512: ' .
כּוּך ( 'ברוכים הבאים ל-linuxhint' , '$6$mkstringexforsaltparam$' ) .
' \n ' ;
} אַחֵר {
הֵד 'אין לתמוך ב-SHA-512. \n ' ;
}
?>
סיכום
ה-PHP כּוּך() הפונקציה יכולה להצפין מחרוזות hashed והיא טכניקת הצפנה חד-כיוונית התומכת באלגוריתם שצוין. מכיוון שהוא מאפשר רק הצפנה ולא פענוח, הוא מכונה אלגוריתם חד-כיווני. פונקציה זו מקבלת פרמטר חובה ופרמטר אופציונלי אחד ומחזירה מחרוזת מוצפנת. מדריך זה יישם את פונקציית crypt PHP באמצעות CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , ו, CRYPT_SHA512 אלגוריתמים.