mmdm / sim-crypt
一个简单而优秀的加密/解密库
Requires
- php: >=7.2
- ext-openssl: *
README
一个使用两个密钥和两种加密方法加密/解密数据的库。
安装
composer
composer require mmdm/sim-crypt
或者,您可以直接从github下载zip文件并解压,然后将文件放入您的项目库中,像使用其他库一样使用它。
只需添加以下行来自动加载文件
require_once 'path_to_library/autoloader.php';
然后您就可以开始使用了。
如何使用
// to instance a crypt object $crypt = new Crypt($main_key, $assured_key); // to crypt data $encrypted_message = $crypt->encrypt("message to encrypt"); // to encrypt data $decrypted_message = $crypt->decrypt($encrypted_message); // "message to encrypt" will be equal to $decrypted_message at the end
描述
要实例化加密对象,您需要两个密钥。一个是主密钥,另一个是保证密钥。这些密钥必须是base64编码的字符串。您可以使用此网站构建它们。首先生成强密码,然后使用base64编码器/解码器将它们转换为base64编码的字符串,并用它们作为库的密钥;或者,您可以选择两个字符串作为密码,并使用php函数base64_encode()
将它们转换为base64。
可用函数
setFirstEncryptionMethod(string $first_method)
您可以从有效的加密方法中设置第一个加密方法。请参阅PHP内置函数openssl_get_cipher_methods()
以了解支持的方法。
getFirstEncryptionMethod(): string
获取第一个加密方法。
setSecondEncryptionMethod(string $second_method)
您可以从有效的加密方法中设置第二个加密方法。请参阅PHP内置函数openssl_get_cipher_methods()
以了解支持的方法。
getSecondEncryptionMethod(): string
获取第二个加密方法。
encrypt($data): ?string
此方法加密消息并返回加密值,或如果$data是空字符串则返回null
。
$encrypted_message = $crypt->encrypt($message_to_encrypt);
decrypt($data): ?string
此方法解密加密消息并返回实际消息,或如果$data是空字符串或在解码步骤中发生错误则返回null
。
$decrypted_message = $crypt->decrypt($encrypted_message);
hasError()
此函数返回一个布尔值,表示操作是否有错误。
注意:应在加密或解密方法之后调用此方法以对错误发生采取行动。
$bool = $crypt->hasError(); // true on having error or false on OK
许可证
在MIT许可证下。