Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน crypt() ใน PHP

คำอธิบาย

ฟังก์ชัน crypt() ใช้แฮชสตริงด้วยอัลกอริทึมต่างๆ เช่น DES, Blowfish, MD5, SHA-256, SHA-512 พฤติกรรมอาจแตกต่างกันไปตามระบบปฏิบัติการ ฟังก์ชันนี้เก่าและไม่แนะนำให้ใช้ใหม่ ให้ใช้ password_hash() แทน

ค่าคงที่สำหรับอัลกอริทึม (Constants)

  • CRYPT_STD_DES - DES มาตรฐาน salt 2 ตัวอักษร
  • CRYPT_EXT_DES - DES ขยาย salt 9 ตัวอักษร
  • CRYPT_MD5 - MD5 salt 12 ตัวอักษร เริ่มต้น $1$
  • CRYPT_BLOWFISH - Blowfish salt เริ่มต้น $2a$, $2x$, $2y$
  • CRYPT_SHA_256 - SHA-256 salt 16 ตัวอักษร เริ่มต้น $5$
  • CRYPT_SHA_512 - SHA-512 salt 16 ตัวอักษร เริ่มต้น $6$

รูปแบบการใช้งาน (Syntax)

crypt(string $string, string $salt = ""): string

พารามิเตอร์

  • string - สตริงที่ต้องการแฮช (จำเป็น)
  • salt - salt สำหรับการแฮช (ตัวเลือก แต่อย่าปล่อยว่าง)

ค่าที่คืนกลับ (Return Value)

คืนค่าสตริงที่แฮชแล้ว หรือสตริงสั้นกว่า 13 ตัวอักษรที่แตกต่างจาก salt ถ้าล้มเหลว

ตัวอย่างการใช้งาน

<?php
if (CRYPT_STD_DES == 1) {
    echo "DES supported = " . crypt('demo', 'st') . "\n";
} else {
    echo "DES not supported!";
}
?>

ผลลัพธ์

DES supported = st7zBedJadRn2

คำเตือน: อย่าใช้ crypt() สำหรับแอปพลิเคชันใหม่ ให้ใช้ password_hash() และ password_verify() แทน