php怎么实现加密
PHP 加密方法
PHP 提供了多种加密方式,包括哈希加密、对称加密和非对称加密。以下是常见的加密实现方法。
哈希加密
哈希加密是单向加密,常用于密码存储。PHP 内置了多种哈希算法:

$password = "user_password";
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
验证哈希值:
if (password_verify($password, $hashed_password)) {
echo "密码正确";
}
对称加密
对称加密使用相同的密钥进行加密和解密。常用的算法是 AES:

$data = "敏感数据";
$key = openssl_random_pseudo_bytes(32); // 生成随机密钥
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv);
$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $key, 0, $iv);
非对称加密
非对称加密使用公钥和私钥。常用于数据传输加密:
$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
);
$res = openssl_pkey_new($config);
openssl_pkey_export($res, $private_key);
$public_key = openssl_pkey_get_details($res)["key"];
openssl_public_encrypt($data, $encrypted, $public_key);
openssl_private_decrypt($encrypted, $decrypted, $private_key);
其他加密函数
PHP 还提供了其他加密函数,如 md5()、sha1(),但这些函数安全性较低,不推荐用于敏感数据加密。
安全注意事项
- 使用
password_hash()存储密码,避免使用md5()或sha1()。 - 对称加密时确保密钥和 IV 的安全存储。
- 非对称加密适合需要密钥分发的场景。






