כיצד להשתמש בפונקציית crypt() ב-PHP

Kyzd Lhstms Bpwnqzyyt Crypt B Php



ה כּוּך() function ב-PHP הוא כלי שימושי לקריפטוגרפיה המשמש ליצירת גיבוב של המחרוזת הנתונה באמצעות אלגוריתמי גיבוב כגון Standard DES, Extended DES, MD5, Blowfish, SHA-256 ו- SHA-512. פונקציה זו משמשת לגיבוב חד כיווני והצפנה של מחרוזות. נדרשים שני ארגומנטים: המחרוזת שתעבור גיבוב וערך מלח אופציונלי, המשמש כדי להוסיף מורכבות לתהליך הגיבוב ולהפוך אותו לאבטח יותר.

במספר מערכות הפעלה, פונקציה זו מתנהגת אחרת. במהלך ההתקנה, PHP בוחנת את האלגוריתמים הזמינים והמומלצים. פונקציה זו כלולה ב-PHP גרסה 4 ואילך ומקבלת פרמטר חובה אחד ופרמטר אופציונלי אחד.

תחביר

תחביר פשוט ואחריו ה- כּוּך() הפונקציה ניתנת להלן:









כּוּך ( $str , $מלח )

הפונקציה מקבלת שני פרמטרים:



  • $str: פרמטר זה הוא מחרוזת שברצונך להצפין. המחרוזת הזו עלולה להיחתך במהלך יצירת ה-hash, מה שאומר שהיא לא תיקח את המחרוזת כולה בחשבון בהתבסס על סוג ה-hash.
  • $מלח: פרמטר זה משמש לבחירת שיטת הגיבוב.

פונקציה זו תחזיר מחרוזת מוצפנת.



כיצד להשתמש בפונקציית crypt() ב-PHP?

ה כּוּך() ניתן להשתמש בפונקציה ב-PHP עם אלגוריתמי גיבוב קריפטוגרפיים שונים כדי להצפין מחרוזת; הנה כמה דוגמאות לשימוש כּוּך() עם אלגוריתמי גיבוב שונים:





בואו נסביר את השיטות הללו בפירוט.

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 אלגוריתמים.