Aes
使用高性能 mcrypt 库实现的 AES-128、AES-192 和 AES-256 加密的简单实现。
自 |
1.0 |
---|---|
包 |
Joomla CMS |
方法
__construct
初始化 AES 加密对象。
__construct( key, strength = 128, mode = 'cbc', priority = 'openssl') :
已弃用
注意:如果密钥不是 16 字节,此类出于遗留原因将进行愚蠢的密钥扩展(生成密钥字符串的 SHA-256 并丢弃一半)。
已弃用 |
4.3 $strength 将在 6.0 中删除 |
---|
参数
- key
string
加密密钥(密码)。它可以是原始密钥(16 字节)或密码短语。- strength
int
位强度(128、192 或 256) - 始终使用 128 位。此参数已弃用。- mode
string
加密模式。可以是 ebc 或 cbc。我们建议使用 cbc。- priority
string
我们应该首先尝试的适配器优先级
响应
混合
decryptString
使用 AES 将密文解密为明文字符串
decryptString( stringToDecrypt, base64encoded = true) :
参数
- stringToDecrypt
string
要解密的密文。原始字符串的前 16 个字节必须包含 IV(初始化向量)。- base64encoded
bool
在解密之前是否应该对数据进行 Base64 解码?
响应
string
纯文本字符串
encryptString
使用 AES 加密字符串
encryptString( stringToEncrypt, base64encoded = true) :
参数
- stringToEncrypt
string
要加密的明文- base64encoded
bool
是否应该对结果进行 Base64 编码?
响应
string
密文。请注意,原始字符串的前 16 个字节是 IV(初始化向量),它对于解码字符串是必需的。
getExpandedKey
获取扩展密钥
getExpandedKey( blockSize, iv) :
参数
- blockSize
int
要处理的块大小- iv
string
IV
响应
string
isSupported
此 PHP 安装是否支持 AES 加密?
isSupported() :
静态
响应
bool
setPassword
设置此实例的密码。
setPassword( password, legacyMode = false) :
警告:不要使用遗留模式,它不安全
自 |
4.0.0 |
---|
参数
- password
string
要使用的密码(用户提供的密码或二进制加密密钥)- legacyMode
bool
是否使用遗留密钥扩展。我们建议不要使用它。
响应
void
属性
key
密码密钥。
类型
string