วิธีใช้ฟังก์ชัน crypt() ใน PHP

Withi Chi Fangkchan Crypt Ni Php



เดอะ ห้องใต้ดิน () ฟังก์ชันใน PHP เป็นเครื่องมือที่มีประโยชน์สำหรับการเข้ารหัสที่ใช้สร้างแฮชของสตริงที่กำหนดโดยใช้อัลกอริธึมการแฮช เช่น Standard DES, Extended DES, MD5, Blowfish, SHA-256 และ SHA-512 ฟังก์ชันนี้ใช้สำหรับการแฮชทางเดียวและการเข้ารหัสสตริง ต้องใช้สองอาร์กิวเมนต์: สตริงที่จะแฮชและค่าเกลือที่ไม่บังคับ ซึ่งใช้เพื่อเพิ่มความซับซ้อนให้กับกระบวนการแฮชและทำให้ปลอดภัยยิ่งขึ้น

ในระบบปฏิบัติการหลายระบบ ฟังก์ชันนี้ทำงานแตกต่างกัน ระหว่างการติดตั้ง PHP จะตรวจสอบอัลกอริทึมที่มีอยู่และที่แนะนำ ฟังก์ชันนี้รวมอยู่ใน PHP เวอร์ชัน 4 และใหม่กว่า และยอมรับพารามิเตอร์บังคับหนึ่งตัวและพารามิเตอร์เผื่อเลือกหนึ่งตัว

ไวยากรณ์

ไวยากรณ์อย่างง่ายตามด้วย ห้องใต้ดิน () ฟังก์ชั่นได้รับด้านล่าง:









ห้องใต้ดิน ( $str , $ เกลือ )

ฟังก์ชันยอมรับสองพารามิเตอร์:



  • $str: พารามิเตอร์นี้เป็นสตริงที่คุณต้องการเข้ารหัส สตริงนี้อาจถูกตัดทอนระหว่างการสร้างแฮช ซึ่งหมายความว่าจะไม่นำสตริงทั้งหมดมาพิจารณาตามประเภทแฮช
  • $ เกลือ: พารามิเตอร์นี้ใช้สำหรับเลือกวิธีการแฮช

ฟังก์ชันนี้จะส่งคืนสตริงที่เข้ารหัส



จะใช้ฟังก์ชัน crypt() ใน PHP ได้อย่างไร?

เดอะ ห้องใต้ดิน () ฟังก์ชันใน PHP สามารถใช้กับอัลกอริทึมแฮชการเข้ารหัสที่แตกต่างกันเพื่อเข้ารหัสสตริง นี่คือตัวอย่างบางส่วนของวิธีการใช้งาน ห้องใต้ดิน () ด้วยอัลกอริธึมการแฮชที่แตกต่างกัน:





เรามาอธิบายรายละเอียดวิธีการเหล่านี้กัน

1: การใช้ CRYPT_STD_DES

เดอะ CRYPT_STD_DES เป็นหนึ่งในอัลกอริทึมการแฮชที่สนับสนุนโดย ห้องใต้ดิน () ฟังก์ชันใน PHP ที่ใช้ มาตรฐาน DES (มาตรฐานการเข้ารหัสข้อมูล) อัลกอริทึมสำหรับการเข้ารหัส เมื่อใช้งาน CRYPT_STD_DES คุณต้องระบุค่าเกลือสองอักขระเป็นอาร์กิวเมนต์ที่สองของ ห้องใต้ดิน () การทำงาน. ค่าเกลือระบุรูปแบบคีย์และความซับซ้อนของกระบวนการเข้ารหัส



ตัวอย่างเช่น:



ถ้า ( CRYPT_STD_DES == 1 ) {

เสียงสะท้อน 'มาตรฐาน DES: ' . ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , 'สต' ) . ' \n ' ;

} อื่น {

เสียงสะท้อน 'ไม่รองรับมาตรฐาน DES \n ' ;

}

?>

2: ใช้ CRYPT_EXT_DES

เดอะ CRYPT_EXT_DES เป็นอีกหนึ่งอัลกอริทึมการแฮชที่สนับสนุนโดย ห้องใต้ดิน () ฟังก์ชั่นที่ใช้ Extended DES (มาตรฐานการเข้ารหัสข้อมูล) อัลกอริทึมสำหรับการเข้ารหัส ขยาย DES เป็นส่วนเสริมของอัลกอริทึม DES เดิม ซึ่งให้พื้นที่คีย์ที่ใหญ่ขึ้นและปรับปรุงความปลอดภัย

ใช้ CRYPT_EXT_DES คุณต้องระบุค่าเกลือที่ขึ้นต้นด้วย _J9 ตามด้วยตัวละครเพิ่มเติม

ตัวอย่างเช่น:



ถ้า ( CRYPT_EXT_DES == 1 ) {

เสียงสะท้อน 'ขยาย DES: ' . ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , '_J9..ทุตตะ' ) . ' \n ' ;

} อื่น {

เสียงสะท้อน 'ไม่รองรับ Extended DES \n ' ;

}

?>

3: การใช้ CRYPT_MD5

เดอะ CRYPT_MD5 เป็นหนึ่งในอัลกอริทึมการแฮชที่สนับสนุนโดย ห้องใต้ดิน () ฟังก์ชันใน PHP ที่ใช้ MD5 (อัลกอริทึมการย่อยข้อความ 5 สร้างค่าแฮช 128 บิต (16 ไบต์) ) อัลกอริทึมสำหรับการเข้ารหัส

ใช้ CRYPT_MD5 คุณต้องระบุค่าเกลือที่ขึ้นต้นด้วย $1$ ตามด้วยตัวละครบางตัว

ตัวอย่างเช่น:



ถ้า ( CRYPT_MD5 == 1 ) {

เสียงสะท้อน 'MD5: ' . ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , '$1$พยายาม$' ) . ' \n ' ;

} อื่น {

เสียงสะท้อน 'ไม่สนับสนุน MD5 \n ' ;

}

?>

4: การใช้ CRYPT_BLOWFISH

เดอะ CRYPT_BLOWFISH เป็นอัลกอริธึมการแฮชที่ได้รับการแนะนำอย่างกว้างขวางซึ่งสนับสนุนโดย ห้องใต้ดิน () ฟังก์ชันใน PHP ที่ใช้อัลกอริทึม Blowfish สำหรับการเข้ารหัส ปักเป้าเป็นรหัสบล็อกสมมาตรที่ขึ้นชื่อเรื่องความปลอดภัยสูง ใช้ CRYPT_BLOWFISH คุณต้องระบุค่าเกลือซึ่งเริ่มต้นด้วย $2y$ หรือ $2a$ ตามด้วยพารามิเตอร์ต้นทุนสองหลัก จากนั้นตามด้วยค่าเกลือจริง

ตัวอย่างเช่น:



ถ้า ( CRYPT_BLOWFISH == 1 ) {

เสียงสะท้อน 'ปลาปักเป้า: ' .

ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} อื่น {

เสียงสะท้อน “ไม่สนับสนุนปักเป้า \n ' ;

}

?>

5: การใช้ CRYPT_SHA256

อัลกอริทึมการแฮชอื่นที่สนับสนุนโดย ห้องใต้ดิน () ฟังก์ชั่นคือ CRYPT_SHA256 ซึ่งใช้อัลกอริทึม SHA-256 (สร้างค่าแฮช 256 บิต (32 ไบต์)) สำหรับการเข้ารหัส ใช้ CRYPT_SHA256 คุณต้องระบุค่าเกลือซึ่งเริ่มต้นด้วย $5$ ตามด้วยพารามิเตอร์ต้นทุนสองหลัก จากนั้นตามด้วยค่าเกลือจริง

ตัวอย่างเช่น:



ถ้า ( CRYPT_SHA256 == 1 ) {

เสียงสะท้อน 'SHA-256: ' .

ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} อื่น {

เสียงสะท้อน 'ไม่สนับสนุน SHA256 \n ' ;

}

?>

6: การใช้ CRYPT_SHA512

เดอะ CRYPT_SHA512 เป็นอีกหนึ่งอัลกอริธึมการแฮชที่มีประโยชน์ซึ่งสนับสนุนโดย ห้องใต้ดิน () ฟังก์ชันใน PHP ที่ใช้ SHA-512 อัลกอริทึมสำหรับการเข้ารหัส SHA-512 เป็นฟังก์ชันแฮชการเข้ารหัสที่ใช้กันอย่างแพร่หลายซึ่งสร้างค่าแฮช 512 บิต (64 ไบต์) ใช้ CRYPT_SHA512 คุณต้องระบุค่าเกลือซึ่งเริ่มต้นด้วย $6$ ตามด้วยพารามิเตอร์ต้นทุนสองหลัก จากนั้นตามด้วยค่าเกลือจริง

ตัวอย่างเช่น:



ถ้า ( CRYPT_SHA512 == 1 ) {

เสียงสะท้อน 'ชา-512: ' .

ห้องใต้ดิน ( 'ยินดีต้อนรับสู่ลินุกซ์ฮินท์' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} อื่น {

เสียงสะท้อน 'ไม่รองรับ SHA-512 \n ' ;

}

?>

บทสรุป


พีเอชพี ห้องใต้ดิน () ฟังก์ชันสามารถเข้ารหัสสตริงที่แฮชและเป็นเทคนิคการเข้ารหัสแบบทิศทางเดียวที่สนับสนุนอัลกอริทึมที่ระบุ เนื่องจากอนุญาตเฉพาะการเข้ารหัสและไม่สามารถถอดรหัสได้ จึงเรียกว่าอัลกอริทึมแบบทิศทางเดียว ฟังก์ชันนี้ยอมรับพารามิเตอร์บังคับหนึ่งตัวและพารามิเตอร์เผื่อเลือกหนึ่งตัว และส่งคืนสตริงที่เข้ารหัส คู่มือนี้ใช้ฟังก์ชันการเข้ารหัส PHP โดยใช้ CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , และ, CRYPT_SHA512 อัลกอริทึม