ageid / encryption-helper
AgeID 对称加密助手
2.1
2019-05-08 14:13 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: 6.5.*
This package is not auto-updated.
Last update: 2024-09-20 21:07:04 UTC
README
使用嵌入随机盐密钥的AES256加密和解密助手,适用于AgeID。
实现基于Laravel Encrypter。
要求:PHP 7
为了与PHP 5.6兼容,请安装random_bytes()的PHP 5.x polyfill
composer require paragonie/random_compat
变更日志
列出发行版本和变更,最新的版本在最上面
- v2.1
- 修复了与PHP 5.6的兼容性问题
- 移除了导致熵损失的盐的utf8转换
- v2.0 [!] 应用于v2端点和转发 [!]
- EncryptionHelper中的迭代次数通过在实例化时设置版本号来设置;如果没有设置,它将选择最新版本
- 仅允许至少16字节的盐
- 默认将迭代次数减少到1024
- [首次发布]
使用方法
安装
使用composer安装包
composer require ageid/encryption-helper
或下载包并将src/*文件包含在您的项目中。
加密
默认情况下,它使用随机盐密钥,但可以在构造函数中指定。
示例
use AgeId\EncryptionHelper;
$password = "8d6ea4d3e6f8c4f8641516baa5e42b85";
$text = "text clear";
$encrypter = new EncryptionHelper($password);
$encrypted = $encrypter->encrypt($text);
echo $encrypted;
解密
示例
use AgeId\EncryptionHelper;
$password = "8d6ea4d3e6f8c4f8641516baa5e42b85";
$hash = "eyJzYWx0IjoiVWluUHJUOFwvZVQ5REZUZ1wvUHo4NyIsImVuY3J5cHRlZCI6IjJxbzgzcmRsMWNWQ0VJTHVjazBJSFE9PSIsIm1hYyI6IjJmYWM3NWY4ZTk4NmI1MGYwMzgwYTcxYTgwMTA3NmNiM2Y3Y2MwYzBkZDNkNWIwOGYxNTI2ZTkwYTRlMTdkZjgifQ==";
$decryptor = new EncryptionHelper($password);
$decrypted = $decryptor->decrypt($hash);
echo $decrypted;
测试
为了运行测试,请在包文件夹中执行
composer install
phpunit