PHP ImageMagick - 圖片安全



在本節中,您將學習如何保護影像,以便只有傳送者和預期接收者才能在網頁上看到這些影像。

PHP Imagemagick 提供影像處理和操作功能,允許您保護影像免遭盜竊或未經授權的使用。現在,我們將討論 PHP Imagemagick 的功能以及它們如何幫助您保護影像安全。

影像加密

Imagemagick 中名為 ‘encipherImage()’ 的內建函式有助於對影像進行加密。將普通畫素影像轉換為加密畫素的過程在此函式中發生。只有可以使用給定金鑰(“密碼”)解密影像的檢視者才能檢視加密影像。

語法

public Imagick::encipherImage(string $passphrase): bool

此函式採用一個引數“密碼”,該引數充當加密和解密影像的金鑰。它以影像作為輸入,使用密碼對影像進行加密,並生成加密後的影像作為輸出。

示例

在以下示例中,顯示了 ‘encipherImage()’ 函式的實現。首先,必須建立一個新的 imagick 物件並以影像作為輸入。定義“密碼”,它是一個作為引數傳遞的字串。然後,使用密碼應用 ‘encipherImage()’ 函式,並獲得加密後的影像作為輸出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg");
   $passphrase="Tutorials Point";
   $image->encipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
?>

假設以下是在程式中使用的輸入影像(image.jpeg):

Enciphering Image

輸出

Enciphering Image

影像解密

Imagemagick 提供了一個內建函式 ‘decipherImage()’,該函式有助於解密影像。將加密影像轉換為普通影像的過程稱為解密影像。此函式以加密影像作為輸入,使用密碼將該影像轉換為普通影像,並生成普通影像作為輸出。

語法

public Imagick::decipherImage(string $passphrase): bool

此函式將“密碼”作為引數。它有助於解密影像。

示例

以下示例顯示瞭如何實現 'decipherImage()' 函式。首先,建立一個新的 Imagick 物件並以影像作為輸入。您還需要定義一個作為引數傳遞的密碼字串。最後,使用您的密碼使用 'decipherImage()' 函式獲得解密後的影像作為輸出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
   $passphrase="Tutorials Point";
   $image->decipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/decipherImage.png");
?>

假設以下是在程式中使用的輸入影像(encipherImage.png):

Deciphering Image

輸出

Deciphering Image
廣告