php使用AES进行加密解密操作
以下是使用php8.2版本的代码,低版本请取消类型化属性(7.4开始支持类型化属性), 请确认版本后修改掉
<?php
namespace YourNamespacce;
/**
* Aes 加密解密
*/
class AesCryptService
{
/**
* AES 加密密钥
*
* @var string
*/
public string $aesKey = "";
/**
* 加密方式
*
* @var string
*/
public string $method = "AES-128-ECB";
/**
* Aes 加密
*
* @param string $string 要加密的字符
* @return string
*/
final public function cryptEncode(string $string): string
{
// 使用openssl进行AES-256-ECB加密
$encrypted = openssl_encrypt($string, $this->method, base64_decode($this->aesKey), OPENSSL_RAW_DATA);
// 对加密后的数据进行Base64编码,便于显示和传输
return base64_encode($encrypted);
}
/**
* Aes 解密
*
* @param string $string 解密的字符
*
* @return string
*/
final public function cryptDecode(string $string): string
{
return openssl_decrypt(base64_decode($string), $this->method, base64_decode($this->aesKey), OPENSSL_RAW_DATA);
}
/**
* 设置密钥
*
* @param string $aesKey
* @return $this
*/
final public function setAesKey(string $aesKey): AesCryptService
{
$this->aesKey = $aesKey;
return $this;
}
/**
* 设置加密方式
*
* @param string $method
* @return $this
*/
final public function setMethod(string $method): AesCryptService
{
$this->method = $method;
return $this;
}
}
php使用AES进行加密解密操作
https://lysowc.cn/archives/1719406762753