php分装方法实现:使⽤AES(CBC分组)对对密码进⾏加密,将结果做BASE64作为加密后的值进⾏传输 密钥和向量值单独提供
时间: 2024-02-28 20:52:25 浏览: 52
好的,下面是 PHP 的封装方法实现:
```php
/**
* 使用 AES(CBC分组) 对密码进行加密
* @param string $password 待加密的密码
* @param string $key 密钥
* @param string $iv 向量值
* @return string 加密后的密码,使用 BASE64 编码
*/
function encryptPassword($password, $key, $iv) {
$cipher = "aes-128-cbc"; // 使用 AES-128-CBC 算法
$options = OPENSSL_RAW_DATA; // 输出原始二进制数据
$encrypted = openssl_encrypt($password, $cipher, $key, $options, $iv); // 加密
return base64_encode($encrypted); // 使用 BASE64 编码后返回
}
```
其中,`$password` 是待加密的密码,`$key` 是密钥,`$iv` 是向量值。这个方法使用 OpenSSL 扩展提供的 `openssl_encrypt` 函数进行加密,并使用 `base64_encode` 函数对加密结果进行 BASE64 编码后返回。
你可以使用以下代码进行调用:
```php
$password = "123456";
$key = "your_key_here";
$iv = "your_iv_here";
$encryptedPassword = encryptPassword($password, $key, $iv);
echo "加密后的密码:".$encryptedPassword;
```
其中,`$password`、`$key` 和 `$iv` 分别是待加密的密码、密钥和向量值,`$encryptedPassword` 是加密后的密码。
阅读全文