adbario / php-encrypter
使用 AES-256 和 HMAC-SHA256 进行加密
1.0.0
2017-03-26 12:33 UTC
Requires
- php: >=5.3
- ext-mbstring: *
- ext-openssl: *
- paragonie/random_compat: ^2.0
This package is auto-updated.
Last update: 2024-09-11 14:02:05 UTC
README
本项目对给定值进行加密和解密。它使用 OpenSSL 扩展,以 AES-256 密码进行加密,并使用 HMAC-SHA-256 进行哈希。加密和哈希可以使用不同的密钥。
PHP Encrypter 需要 PHP 5.3 或更高版本,OpenSSL 和 Multibyte String 扩展。
安全提示
由于加密是可逆操作,因此加密不是存储密码的安全解决方案。请始终为每个用户使用加盐的哈希来存储密码。
安装
使用 Composer
composer require adbario/php-encrypter
手动安装
- 下载最新版本
- 将文件提取到您的项目中
- require_once '/path/to/php-encrypter/src/Encrypter.php';
- 如果您的 PHP 版本低于 7,还需要 random_bytes() 的 polyfill
用法
设置加密密钥
$key = '+NeXrQhAEhW}g8gf^y)Up8hAUKpue7wb';
将密钥更改为您自己的 32 个字符的随机字符串。
创建新的加密器实例
$encrypter = new \Adbar\Encrypter($key);
如果您希望为哈希使用不同的密钥,可以将其作为构造函数的第二个参数传递
$encrypter = new \Adbar\Encrypter($key, $authKey);
加密
加密字符串
$string = 'This is my string to encrypt.'; $encrypted = $encrypter->encryptString($string);
通过序列化加密其他变量类型
$array = array('key' => 'value'); $encrypted = $encrypter->encrypt($array);
解密
解密字符串
$string = $encrypter->decryptString($encrypted);
通过序列化解密其他变量类型
$array = $encrypter->decrypt($encrypted);