在PHP中,openssl_encrypt函数默认使用的是PKCS7填充(不是PKCS5填充)。PKCS7填充实际上是PKCS5填充的扩展,用于对不同块大小的数据进行填充。

当你使用openssl_encrypt函数进行加密时,如果你没有显式指定填充模式和填充数据的方式,PHP会默认使用PKCS7填充。这意味着,如果你的数据块大小不是128位(16字节)的倍数,openssl_encrypt函数会自动进行填充。填充的字节将会根据需要添加到数据块的末尾,以使其达到指定的块大小。

以下是一个使用openssl_encrypt函数进行加密的示例代码:

<?php
$data = "Hello World";
$key = "SecretKey";
$method = "AES-128-CBC";

$ivSize = openssl_cipher_iv_length($method);
$iv = openssl_random_pseudo_bytes($ivSize);

$encryptedData = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);

$encryptedDataHex = bin2hex($encryptedData);
echo "Encrypted Data: " . $encryptedDataHex;
?>

在上述代码中,我们使用了AES-128-CBC算法进行加密。openssl_encrypt函数自动使用PKCS7填充,无需额外设置填充。你可以根据实际需求修改加密算法、密钥和数据,并根据需要自定义填充方式。