iamjohndev / phpencryption
PHPSecryption是一个PHP类,使用OpenSSL库提供加密和解密功能。它使用高级加密标准(AES)算法在Cipher-Block Chaining(CBC)模式下进行安全数据加密。
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2024-09-22 08:32:38 UTC
README
PHPSecryption是一个PHP类,使用OpenSSL库提供加密和解密功能。它使用高级加密标准(AES)算法在Cipher-Block Chaining(CBC)模式下进行安全数据加密。
特性
- 使用AES-256-CBC加密算法进行强加密。
- 支持自定义加密和解密密钥。
- 处理密钥不匹配和无效加密数据的错误。
- 简单易用的API。
安装
您可以通过Composer使用以下命令安装PHPSecryption:
composer require iamjohndev/phpencryption:dev-main
或者,您也可以手动下载并将PHPSecryption.php文件包含到您的PHP项目中。
使用方法
以下是如何在您的PHP代码中使用PHPSecryption的示例
require 'vendor/autoload.php'; // Add this line if you're using core PHP use iamjohndev\PHPSecryption; // Instantiate PHPSecryption with encryption key $encryptionKey = 'mysecretencryptionkey'; $phpEncryption = new PHPSecryption($encryptionKey); // Encrypt data $data = 'Hello, world!'; $encryptedData = $phpEncryption->encrypt($data); // Decrypt data $decryptedData = $phpEncryption->decrypt($encryptedData); // Display results echo "Original data: $data\n"; echo "Encrypted data: $encryptedData\n"; echo "Decrypted data: $decryptedData\n";
如果您想使用与加密时不同的密钥进行解密,您也可以使用setDecryptionKey()方法设置自定义解密密钥。
// Set custom decryption key $decryptionKey = 'mysecretdecryptionkey'; $phpEncryption->setDecryptionKey($decryptionKey);
错误处理
PHPSecryption提供对密钥不匹配和无效加密数据的错误处理。如果解密密钥与使用的加密密钥不匹配,或者加密数据无效,将抛出一个包含适当错误消息的异常。
try { // Decrypt data with incorrect key $invalidDecryptionKey = 'incorrectdecryptionkey'; $decryptedData = $phpEncryption->decrypt($encryptedData, $invalidDecryptionKey); } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
安全考虑
- 妥善管理加密密钥,并确保其保密性和安全性,防止未经授权的访问。
- 使用适当的访问控制安全地存储加密数据和加密密钥。
- 验证和清理输入数据,以防止潜在的安全漏洞。
- 定期审计和审查实现,以识别安全风险。
- 确保遵守适用的数据保护法律和行业法规,尤其是在处理敏感数据时。
贡献
欢迎对PHPSecryption做出贡献!请将问题和拉取请求提交到GitHub存储库:https://github.com/iamjohndev/phpencryption。
许可
PHPSecryption在MIT许可证下发布,允许个人和商业使用。请参阅LICENSE文件以获取更多详细信息。
鸣谢
PHPSecryption由iamjohndev创建,并受到各种PHP加密库和加密及密钥管理最佳实践的启发。