/**
* 对称加密类
*
* 依赖:openssl扩展;
*
* 加解密要指定对应的密钥$key,加密结果是经过base64编码的。
*
* 例如:
* use \leyangjun\Lib\Crypt;
* $key = 'XXXXXXXXXXXXXXXX'; //密钥
* $data = '明文';
* $cipherText = Crypt::encrypt($data, $key); //加密
* $text = Crypt::decrypt($cipherText, $key); //解密
*/
class Crypt
{
protected static $method = 'AES-256-CBC';
public static function encrypt($data, $key)
{
$ivLen = openssl_cipher_iv_length(static::$method);
$iv = openssl_random_pseudo_bytes($ivLen);
$text = openssl_encrypt($data, static::$method, $key, OPENSSL_RAW_DATA, $iv);
return self::safetyBase64Encode($iv . $text);
}
public static function decrypt($text, $key)
{
$cipherText = self::safetyBase64Decode($text);
$ivLen = openssl_cipher_iv_length(static::$method);
$iv = substr($cipherText, 0, $ivLen);
if (strlen($iv) != $ivLen) {
$iv = substr(str_pad($iv, $ivLen, '0'), 0, $ivLen);
}
PHP 敏感数据加密方法
最新推荐文章于 2025-10-25 17:09:08 发布
本文详细介绍了在PHP中对敏感数据进行加密的各种方法,包括使用内置的openssl_encrypt函数,探讨了加密策略和安全性,为PHP开发者提供数据保护的实用指南。

最低0.47元/天 解锁文章
2614

被折叠的 条评论
为什么被折叠?



