Mcrypt telah ditamatkan dan tidak lagi disyorkan untuk digunakan. Artikel ini membentangkan pendekatan alternatif menggunakan openssl.
Pelaksanaan yang dikemas kini ini menggunakan AES256 untuk penyulitan, memberikan tahap keselamatan yang jauh lebih tinggi berbanding Mcrypt. Di bawah ialah kod yang disemak:
class AES256Encryption { public const BLOCK_SIZE = 8; public const IV_LENGTH = 16; public const CIPHER = 'AES256'; public static function generateIv(bool $allowLessSecure = false): string { // Logic to generate a secure initialization vector } protected static function getPaddedText(string $plainText): string { // Logic to pad the plaintext to a multiple of the block size } public static function encrypt(string $plainText, string $key, string $iv): string { // Logic to encrypt the plaintext using AES256 } public static function decrypt(string $encryptedText, string $key, string $iv): string { // Logic to decrypt the ciphertext using AES256 } }
$text = 'Your plaintext here'; $key = 'Your encryption key'; $iv = AES256Encryption::generateIv(); $encryptedText = AES256Encryption::encrypt($text, $key, $iv); $decryptedText = AES256Encryption::decrypt($encryptedText, $key, $iv); // Print the results echo "Original Text: $text" . PHP_EOL; echo "Encrypted: $encryptedText" . PHP_EOL; echo "Decrypted: $decryptedText" . PHP_EOL;
Kod ini menunjukkan penyulitan dan penyahsulitan teks biasa menggunakan AES256, memastikan pengendalian data selamat.
Atas ialah kandungan terperinci Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan AES256 dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!