Updated README

This commit is contained in:
Daniel Legt 2021-02-28 14:13:25 +02:00
parent defe60efb9
commit 1fbe6f2fb0
1 changed files with 63 additions and 0 deletions

View File

@ -6,6 +6,8 @@ The Project is a simple php encryption wrapper, not even a library, the whole po
## Usage ## Usage
Simply use the provided functions from the lib.php file, you can simply import it into any project using that file. Simply use the provided functions from the lib.php file, you can simply import it into any project using that file.
#### String Encryption
```php ```php
<?php <?php
require_once("./lib.php"); require_once("./lib.php");
@ -51,6 +53,67 @@ echo "Sizeof output:" . strlen($encryptedData) . "\n"; // Bytes
echo "\n"; echo "\n";
``` ```
#### File Encryption
```php
<?php
require("./lib.php");
/**
* This is a simple example of how to encrypt files with the library
* The following code will read the file in chunks instead of loading
* the whole thing in memory, trying to keep the "Peak Memory Usage"
* as low as possible.
*/
define("INPUT_FILE", "./lib.php");
define("OUTPUT_FILE", "./testdir/" . "./example.enc.php");
define("DEC_OUTPUT_FILE", "./testdir/" . "./example.dec.php");
// Make sure the testing folder exists
if ( !file_exists("./testdir") ) {
mkdir("./testdir", 0777, true);
}
// Initialize the class
$lib = new kpcrypt();
// $lib->setEncryptionBlocks(128); // This will take ~10 times more time, but will use half as much memory.
// Really the best value is the default one.
$enc_start = round(microtime(true) * 1000);
// Encrypt the file
$lib->encryptFile(INPUT_FILE, OUTPUT_FILE);
$enc_end = round(microtime(true) * 1000) - $enc_start;
$dec_start = round(microtime(true) * 1000);
// Decrypt the file as well
$lib->decryptFile(OUTPUT_FILE, DEC_OUTPUT_FILE);
$dec_end = round(microtime(true) * 1000) - $dec_start;
/**
* NOTE: You can also compress the output using gzip
*/
echo "\n\n";
echo "Input File Size: " . round(filesize(INPUT_FILE) / 1024 / 1024, 2) . "Mb";
echo "\n";
echo "Output File Size: " . round(filesize(OUTPUT_FILE) / 1024 / 1024, 2) . "Mb";
echo "\n";
echo "Peak Memory: " . memory_get_peak_usage() / 1024 / 1024 . "Mb"; // Check the memory in Mb
echo "\n";
echo "Encryption Time: $enc_end ms\n"; // 9700k = ~210ms ( 4Mb = 100ms )
echo "Decryption Time: $dec_end ms\n";
echo "\n";
$errors = $lib->getErrors();
echo "Errors: " . ( !empty($errors) ? "\n" . json_encode($errors, JSON_PRETTY_PRINT) : "No Errors!");
```
## License ## License
The licensing of the project is the [MIT license](https://mit-license.org/) The licensing of the project is the [MIT license](https://mit-license.org/)