fyre / encryption
加密库。
v3.0.10
2024-06-29 06:39 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
README
FyreEncryption 是一个免费的、开源的 PHP 加密库。
目录
安装
使用 Composer
composer require fyre/encryption
在 PHP 中
use Fyre\Encryption\Encryption;
方法
清除
清除所有实例和配置。
Encryption::clear();
获取配置
获取一个 Encrypter 配置。
$key是表示 Encrypter 密钥的字符串。
$config = Encryption::getConfig($key);
或者,如果省略了 $key 参数,将返回包含所有配置的数组。
$config = Encryption::getConfig();
获取密钥
获取一个 Encrypter 实例的密钥。
$encrypter是一个 Encrypter。
$key = Encryption::getKey($encrypter);
检查配置
检查是否存在一个 Encrypter 配置。
$key是表示 Encrypter 密钥的字符串,默认为Encryption::DEFAULT。
$hasConfig = Encryption::hasConfig($key);
检查是否加载
检查一个 Encrypter 实例是否已加载。
$key是表示 Encrypter 密钥的字符串,默认为Encryption::DEFAULT。
$isLoaded = Encryption::isLoaded($key);
加载
加载一个 Encrypter。
$options是一个包含配置选项的数组。
$encrypter = Encryption::load($options);
设置配置
设置 Encrypter 配置。
$key是表示 Encrypter 密钥的字符串。$options是一个包含配置选项的数组。
Encryption::setConfig($key, $options);
或者,可以提供一个包含配置选项键/值的单个数组。
Encryption::setConfig($config);
卸载
卸载一个 Encrypter。
$key是表示 Encrypter 密钥的字符串,默认为Encryption::DEFAULT。
$unloaded = Encryption::unload($key);
使用
加载一个共享的 Encrypter 实例。
$key是表示 Encrypter 密钥的字符串,默认为Encryption::DEFAULT。
$encrypter = Encryption::use($key);
加密器
您可以通过指定上面变量 $options 的 className 选项来加载特定的加密器。
可以通过扩展 \Fyre\Encryption\Encrypter 来创建自定义加密器,确保实现所有以下方法。
解密
解密数据。
$data是加密数据。$key是表示加密密钥的字符串。
$decrypted = $encrypter->decrypt($data, $key);
加密
加密数据。
$data是要加密的数据。$key是表示加密密钥的字符串。
$encrypted = $encrypter->encrypt($data, $key);
生成密钥
生成一个加密密钥。
$key = $encrypter->generateKey();
OpenSSL
可以使用默认配置通过 "openssl" 密钥加载 OpenSSL 加密器。
$encrypter = Encryption::use('openssl');
您也可以使用自定义配置加载加密器。
$key是表示加密器密钥的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\Encryption\Handlers\OpenSSLEncrypter::class。cipher是表示加密方法的字符串,默认为 "AES-256-CTR"。
Encryption::setConfig($key, $options); $encrypter = Encryption::use($key);
Sodium
Sodium 加密器是默认处理器。
$encrypter = Encryption::use();
您也可以使用自定义配置加载加密器。
$key是表示加密器密钥的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\Encryption\Handlers\SodiumEncrypter::class。blockSize是表示块大小的数字,默认为 16。
Encryption::setConfig($key, $options); $encrypter = Encryption::use($key);