在PHP中,可以使用一种名为OpenSSL的加密扩展函数对字符串进行加密和解密。
openssl_encrypt()函数:openssl_encrypt()函数用于加密数据。
语法如下:
openssl_encrypt(字符串$data,字符串$method,字符串$key, $options = 0,字符串$iv,字符串$tag= NULL,字符串$aad, int $tag_length = 16)
参数说明如下:
$data:存放需要加密的字符串或数据。
$method:使用openssl_get_cipher_methods()函数使用cipher方法。
$key:保存加密密钥。
$options:它保存OPENSSL_RAW_DATA和OPENSSL_ZERO_PADDING标志的位分离。
$iv:它保存的初始化向量不是NULL。
$tag:它保存在使用AEAD密码模式(GCM或CCM)时通过引用传递的身份验证标记。
$aad:它保存额外的身份验证数据。
$tag_length:它保存身份验证标记的长度。对于GCM模式,认证标签的长度在4到16之间。
返回值:成功时返回加密字符串,失败时返回FALSE。
openssl_decrypt()函数openssl_decrypt()用于解密数据。
语法如下:
openssl_decrypt(字符串$data,字符串$method,字符串$key, int $options = 0,字符串$iv,字符串$tag,字符串$aad)
参数说明如下:
$data:存放需要加密的字符串或数据。
$method:使用openssl_get_cipher_methods()函数使用cipher方法。
$key:保存加密密钥。
$options:它保存OPENSSL_RAW_DATA和OPENSSL_ZERO_PADDING标志的位分离。
$iv:它保存的初始化向量不是NULL。
$tag:它保存使用AEAD密码模式(GCM或CCM)的身份验证标记。当身份验证失败时,openssl_decryption()返回FALSE。
$aad:它保存额外的身份验证数据。
返回值:成功时返回解密字符串,失败时返回FALSE。
方法:首先声明一个字符串并将其存储到变量中,然后使用openssl_encrypt()函数对给定的字符串进行加密,使用openssl_decrypt()函数对给定的字符串进行解密。
您可以在https://www.geeksforgeeks.org/how-to-encrypt-and-decrypt-a-php-string/上找到示例