daycry / encryption
为 Codeigniter 4 提供加密功能
v2.1.8
2024-07-18 08:39 UTC
Requires
- php: ^8.1
Requires (Dev)
README
加密库
Codeigniter 4 与 CryptoJsAes 兼容的加密
通过 composer 安装
使用 composer install 安装此包
> composer require daycry/encryption
手动安装
下载此仓库,然后通过编辑 app/Config/Autoload.php 并将 Daycry\Encryption 命名空间添加到 $psr4 数组中来启用它。例如,如果您将其复制到 app/ThirdParty
$psr4 = [ 'Config' => APPPATH . 'Config', APP_NAMESPACE => APPPATH, 'App' => APPPATH, 'Daycry\Encryption' => APPPATH .'Libraries/encryption/src', ];
使用库
$encryption = new \Daycry\Encryption\Encryption(); $data = $encryption->encrypt( 'data' ); var_dump( $data ); $encryption = new \Daycry\Encryption\Encryption(); $data = $encryption->decrypt( 'data' ); var_dump( $data );
设置加密算法
$encryption = new \Daycry\Encryption\Encryption(); $data = $encryption->setCipher( 'AES-256-CTR' )->encrypt( 'data' ); var_dump( $data );
设置密钥
$encryption = new \Daycry\Encryption\Encryption(); $encrypt = $obj->setCipher( 'AES-256-CTR' )->setKey( '%T3sT1nG$' )->encrypt( 'data', true ); var_dump( $data );
获取可用算法
var_dump( openssl_get_cipher_methods() );
CryptoJs 兼容性返回密钥
$result = \Daycry\Encryption\CryptoJsAes::encrypt( "Hello", "123456", true ); $textPlain = \Daycry\Encryption\CryptoJsAes::decrypt( $result );
CryptoJs 兼容性不返回密钥
$result = \Daycry\Encryption\CryptoJsAes::encrypt( "Hello", "123456", false ); $textPlain = \Daycry\Encryption\CryptoJsAes::decrypt( $result, "123456" );
如果您想在 JavaScript 中进行加密/解密,您必须在视图中添加这些文件。
./public/assets
示例
<script type="text/javascript" src="<?php echo base_url("assets/js/jquery.min.js")?>"></script> <script type="text/javascript" src="<?php echo base_url("assets/js/crypto-js.min.js")?>"></script> <script type="text/javascript" src="<?php echo base_url("assets/js/encryption.js")?>"></script> <script> Encryption.getInstance().setKey("hello"); var encrypted = Encryption.getInstance().encrypt("hello text"); var decrypted = Encryption.getInstance().decrypt(encrypted); console.log(decrypted); </script>
加密和解密函数接受密钥作为第二个参数。
如何运行测试
cd vendor\daycry\encryption\ composer install vendor\bin\phpunit