สรุป: Mcrypt 2.4.7 เป็นไลบรารีส่วนขยายอัลกอริทึมการเข้ารหัสที่ทรงพลัง ซึ่งประกอบด้วย 22 อัลกอริธึม รวมถึงอัลกอริธึมต่อไปนี้:
Blowfish RC2 Safer-sk64 xtea
Cast-256 RC4 ปลอดภัยกว่า-sk128
งู DES RC4-iv
Enigma Rijndael-128 สามทาง
Gost Rijndael-192 TripleDES
LOKI97 Rijndael-256 ปลาทูฟิช
จะติดตั้ง Mcrypt
ใน PanamaSaferplus Wake
ได้อย่างไร?Mcrypt ไม่รวมอยู่ในแพ็คเกจ PHP มาตรฐาน ดังนั้นคุณต้องดาวน์โหลด ที่อยู่ดาวน์โหลดคือ: ftp://argeas.cs-net.gr/pub/unix/mcrypt/ หลังจากดาวน์โหลดแล้ว ให้คอมไพล์และขยายเป็น PHP ดังนี้
ดาวน์โหลดแพ็คเกจ Mcrypt
gunzipmcrypt-xxxtar.gz
tar -xvfmcrypt-xxxtar.tar
./configure --disable-posix-threads
ทำ
ทำการติดตั้ง
cd ไปยังไดเร็กทอรี PHP ของคุณ
./configure -with-mcrypt=[dir] [--คำสั่งการกำหนดค่าอื่น ๆ]
ทำ
make install
ทำการปรับเปลี่ยนเซิร์ฟเวอร์อย่างเหมาะสมตามความต้องการและการติดตั้ง PHP ของคุณ
จะใช้ไลบรารีส่วนขยาย Mcrypt เพื่อเข้ารหัสข้อมูลได้อย่างไร
ขั้นแรก เราจะกล่าวถึงวิธีการใช้ไลบรารีส่วนขยาย Mcrypt เพื่อเข้ารหัสข้อมูล จากนั้นเราจะกล่าวถึงวิธีใช้เพื่อถอดรหัส รหัสต่อไปนี้สาธิตกระบวนการนี้ ขั้นแรกจะเข้ารหัสข้อมูล จากนั้นจึงแสดงข้อมูลที่เข้ารหัสบนเบราว์เซอร์ กู้คืนข้อมูลที่เข้ารหัสเป็นสตริงดั้งเดิม และแสดงข้อมูลนั้นบนเบราว์เซอร์
ใช้ Mcrypt เพื่อเข้ารหัสและถอดรหัสข้อมูล
<?php
// กำหนดสตริงที่จะเข้ารหัส
$string = "การเข้ารหัสประยุกต์โดย Bruce Schneier คือ
การอ้างอิงการเข้ารหัสที่ยอดเยี่ยม";
// คีย์การเข้ารหัส/ถอดรหัส
$key = "สี่คะแนนเมื่อยี่สิบปีที่แล้ว";
// อัลกอริทึมการเข้ารหัส
$cipher_alg = MCRYPT_RIJNDAEL_128;
// สร้างเวกเตอร์การเริ่มต้นเพื่อเพิ่มความปลอดภัย
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,
MCRYPT_MODE_ECB), MCRYPT_RAND);
// ส่งออกสตริงดั้งเดิม
พิมพ์ "สตริงต้นฉบับ: $string
";
// เข้ารหัส $string
$encrypted_string = mcrypt_encrypt($cipher_alg, $key,
$string, MCRYPT_MODE_CBC, $iv);
// แปลงเป็นเลขฐานสิบหกและส่งออกไปยังเบราว์เซอร์
พิมพ์ "สตริงที่เข้ารหัส: ".bin2hex($encrypted_string)"
";
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string, MCRYPT_MODE_CBC, $iv);
พิมพ์ "สตริงที่ถอดรหัส: $decrypted_string";
-
การดำเนินการสคริปต์ด้านบนจะสร้างผลลัพธ์ต่อไปนี้:
สตริงต้นฉบับ: Applied Cryptography โดย Bruce Schneier เป็น
สตริงที่เข้ารหัสที่ยอดเยี่ยม: 02a7c58b1ebd22a9523468694b091e60411cc4dea8652bb8072 34fa06bbfb20e71ecf525f29df58e28f3d9bf 541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e
สตริงที่ถอดรหัส: Applied Cryptography โดย Bruce Schneier เป็นการอ้างอิงการเข้ารหัสที่ยอดเยี่ยม
ฟังก์ชันทั่วไปสองฟังก์ชันในโค้ดด้านบนคือ mcrypt_encrypt() และ mcrypt_decrypt() และการใช้งานของฟังก์ชันเหล่านี้ก็ชัดเจน เราใช้โหมด "Telegraph Codebook" Mcrypt มีวิธีการเข้ารหัสหลายวิธี เนื่องจากวิธีการเข้ารหัสแต่ละวิธีมีอักขระเฉพาะที่อาจส่งผลต่อความปลอดภัยของรหัสผ่าน คุณจึงต้องเข้าใจแต่ละโหมด สำหรับผู้อ่านที่ไม่เคยสัมผัสกับระบบการเข้ารหัส พวกเขาอาจจะสนใจฟังก์ชัน mcrypt_create_iv() มากกว่า เราจะพูดถึงเวกเตอร์การเริ่มต้น (ด้วยเหตุนี้ iv) ที่มันสร้างขึ้น ซึ่งทำให้ข้อมูลแต่ละชิ้นเป็นอิสระจากกัน แม้ว่าไม่ใช่ทุกโหมดที่ต้องการตัวแปรการเริ่มต้นนี้ แต่ PHP จะให้ข้อความเตือนหากตัวแปรนี้ไม่ได้ระบุไว้ในโหมดที่ต้องการ