adbario/php-encrypter

使用 AES-256 和 HMAC-SHA256 进行加密

1.0.0 2017-03-26 12:33 UTC

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

手动安装

  1. 下载最新版本
  2. 将文件提取到您的项目中
  3. require_once '/path/to/php-encrypter/src/Encrypter.php';
  4. 如果您的 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);

许可证

MIT 许可证