php 密码加密-PHP 基础知识 21 – 加密和解密用户密码

对于 PHP7 Blowfish 加密解密,可以使用 PHP 的内置函数 `password_hash()` 和 `password_verify()`。 `password_hash()` 函数可以使用 Blowfish 算法对密码进行加密,并且该函数在 PHP7 中得到了改进,以支持新的算法选项。 例如,您可以使用`PASSWORD_BCRYPT`参数来使用Blowfish算法进行加密。 以下是使用 Blowfish 算法进行加密的示例代码: ```php$password = 'password123';$options = ['cost' => 12,];$hashedPassword = password_hash($password, PASSWORD_BCRYPT, $options) ; ```对于 AES 加密解密,可以使用 PHP 的 OpenSSL 扩展。 以下是使用 OpenSSL 扩展进行 AES 加密解密的示例代码: ```php $key = 'your_secret_key'; $message = 'hello world';// 加密 $ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC ");$iv = openssl_random_pseudo_bytes($ivlen);$ciphertext = openssl_encrypt($message, $cipher, $key , $options=0, $iv);// 保存加密数据和 IV // 解密 $iv = // 从加密数据中获取 IV $ciphertext = // 从加密数据中获取加密消息 $original_plaintext = openssl_decrypt($ciphertext, $ cipher, $key, $options=0, $iv);` ``在此代码中php 密码加密,我们使用 AES-128-CBC 算法对消息进行加密php 密码加密,并使用随机生成的 IV 以降低安全性。 加密后,我们需要保存IV和加密数据以供后续解密。 解密时,我们需要使用相同的密钥和IV来解密加密的数据。