如何透過PHP腳本在Linux伺服器上實現資料加密,需要具體程式碼範例
首先需要產生一個金鑰對,一個公鑰用於加密數據,一個私鑰用於解密資料。可以使用下列程式碼產生金鑰對:
$config = [ "digest_alg" => "sha512", "private_key_bits" => 4096, "private_key_type" => OPENSSL_KEYTYPE_RSA, ]; $res = openssl_pkey_new($config); openssl_pkey_export($res, $privateKey); $publicKey = openssl_pkey_get_details($res)['key']; // 保存私钥和公钥到文件 file_put_contents("private_key.pem", $privateKey); file_put_contents("public_key.pem", $publicKey);上述程式碼會產生一個4096位元的RSA金鑰對,並將私鑰和公鑰儲存到
private_key.pem和
public_key.pem檔案中。
在需要加密資料的地方,可以使用以下程式碼將資料加密:
$publicKey = file_get_contents("public_key.pem"); $data = "要加密的数据"; openssl_public_encrypt($data, $encryptedData, $publicKey); // 将加密后的数据保存到文件或传输到网络 file_put_contents("encrypted_data.txt", base64_encode($encryptedData));上述程式碼將資料使用公鑰進行加密,並將加密後的資料儲存到
encrypted_data.txt檔案中。
如果需要解密數據,可以使用以下程式碼進行解密:
$privateKey = file_get_contents("private_key.pem"); $encryptedData = file_get_contents("encrypted_data.txt"); $encryptedData = base64_decode($encryptedData); openssl_private_decrypt($encryptedData, $decryptedData, $privateKey); echo $decryptedData;上述程式碼將使用私鑰解密先前加密的數據,並將解密後的資料輸出到螢幕上。
以上是如何透過PHP腳本在Linux伺服器上實現資料加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!