meezaan / aescryptor
一个使用AES算法加密/解密字符串的库
v1.4
2024-05-29 18:03 UTC
Requires
- php: >=8.2
- ext-ctype: *
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: ^9.6
README
AES 256位密钥加密和解密字符串的基本PHP包。
此库需要PHP OpenSSL扩展。
此包基于 https://gist.github.com/turret-io/957e82d44fd6f4493533。
安装
可以通过composer安装此包
composer install neezaan\aescryptor
用法
此包可以为您生成一个安全的密钥和初始化向量。您需要安全地存储密钥,但此包会自己将IV与加密字符串一起存储,因此您无需在其他地方存储它。这可能会降低安全性,但可以使实现更加简单。
<?php
use Meezaan\Aescryptor\Generate;
use Meezaan\Aescryptor\Aes;
// Generate a 256-bit key. Store this somewhere in a secure vault. You don't need this step as you can generate your own key elsewhere too.
$key = Generate::key();
// Our secret
$secret = 'A_Secret';
// Instantiate the Aes class.
$aes = new Aes($key);
// Encrypt your string
$encrypted = $aes->encrypt($secret);
// Decrypt your string
$decrypted = $aes->decrypt($encrypted);
// Note that $decrypted === $secret
目的
此库主要为了实现应用程序和管道之间的互操作性。
Bash互操作性
此库生成的结果与Linux上的openssl cli不兼容。
要在PHP中获得相同的结果,请参阅 https://stackoverflow.com/questions/71198954/openssl-aes-256-cbc-encryption-from-command-prompt-and-decryption-in-php-and-vi。
致谢
许可
MIT