在PHP中,可以使用以下函数进行加密和解密数据:
1.加密数据:
a. 使用哈希函数进行加密,例如:md5(), sha1(),如下所示:
$hash = md5($data);
b. 使用对称加密算法进行加密,例如:AES,如下所示:
$key = "mysecretkey";
$iv = random_bytes(16);
$ciphertext = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
2.解密数据:
a. 对哈希函数加密的数据不能解密,只能进行比较,例如:
$hash = md5($data);
if ($hash == $storedHash)
{
// 数据匹配
}
b. 对称加密算法解密数据,例如:
$key = "mysecretkey";
$iv = random_bytes(16);
$plaintext = openssl_decrypt($ciphertext, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
需要注意的是,对称加密算法需要使用相同的密钥和初始化向量进行解密,因此需要将密钥和初始化向量保存在安全的地方。