|
|
|
@ -13,6 +13,21 @@ namespace prj\mockup\controllers\app; |
|
|
|
class enc_ctrl { |
|
|
|
class enc_ctrl { |
|
|
|
public $page_output; |
|
|
|
public $page_output; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private function get_roles(): string { |
|
|
|
|
|
|
|
$roles = ['roles'=>'admin, super, rw', 'name'=>'Bob']; |
|
|
|
|
|
|
|
return json_encode($roles); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private function show_roles(bool|string $in): void { |
|
|
|
|
|
|
|
echo "<br>" . PHP_EOL; |
|
|
|
|
|
|
|
if ($in === false) { |
|
|
|
|
|
|
|
echo "Invalid cypher text"; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
var_dump(json_decode($in, true)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
echo "<br>" . PHP_EOL; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private function time_enc(array $levels): void { |
|
|
|
private function time_enc(array $levels): void { |
|
|
|
$enc = new \tts\services\encryption(); |
|
|
|
$enc = new \tts\services\encryption(); |
|
|
|
foreach($levels as $level) { |
|
|
|
foreach($levels as $level) { |
|
|
|
@ -24,13 +39,13 @@ class enc_ctrl { |
|
|
|
echo "KEY Used: $key <br>" . PHP_EOL; |
|
|
|
echo "KEY Used: $key <br>" . PHP_EOL; |
|
|
|
|
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
$startTime = microtime(true); |
|
|
|
$data = $enc->encrypt($key, "Hello, World!"); |
|
|
|
$data = $enc->encrypt($key, $this->get_roles()); |
|
|
|
echo "<br> $data <br>" . PHP_EOL; |
|
|
|
echo "<br> $data <br>" . PHP_EOL; |
|
|
|
echo "Encrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "Encrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
|
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
$startTime = microtime(true); |
|
|
|
$decoded = $enc->decrypt($key, $data); |
|
|
|
$decoded = $enc->decrypt($key, $data); |
|
|
|
echo "<br> $decoded <br>" . PHP_EOL; |
|
|
|
$this->show_roles($decoded); |
|
|
|
echo "Decrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "Decrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "<hr><br>".PHP_EOL; |
|
|
|
echo "<hr><br>".PHP_EOL; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -59,7 +74,7 @@ class enc_ctrl { |
|
|
|
$key = "oH5LUubQXkUgC2sXkxahLnzgcZokVFANyxAew+kOvuk="; |
|
|
|
$key = "oH5LUubQXkUgC2sXkxahLnzgcZokVFANyxAew+kOvuk="; |
|
|
|
|
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
$startTime = microtime(true); |
|
|
|
$data = $crypto->safe_encrypt("Hello, World!", $key, $crypto::single_key); |
|
|
|
$data = $crypto->safe_encrypt($this->get_roles(), $key, $crypto::single_key); |
|
|
|
echo "<br> $data <br>" . PHP_EOL; |
|
|
|
echo "<br> $data <br>" . PHP_EOL; |
|
|
|
echo "Encrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "Encrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
|
|
|
|
|
|
|
|
@ -67,11 +82,34 @@ class enc_ctrl { |
|
|
|
|
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
$startTime = microtime(true); |
|
|
|
$decoded = $crypto->safe_decrypt($data, $key, $crypto::single_key); |
|
|
|
$decoded = $crypto->safe_decrypt($data, $key, $crypto::single_key); |
|
|
|
echo "<br> $decoded <br>" . PHP_EOL; |
|
|
|
$this->show_roles($decoded); |
|
|
|
|
|
|
|
|
|
|
|
echo "Decrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "Decrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
echo "<hr><br>".PHP_EOL; |
|
|
|
echo "<hr><br>".PHP_EOL; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function storage() { |
|
|
|
|
|
|
|
$key = "78a5011b9997cd03a28a3412c66565b7c32715b35e055d7abfc228236308d3b2"; |
|
|
|
|
|
|
|
$sc = new \tts\services\paragon_crypto\sodium_storage($key); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
|
|
|
|
$encoded = $sc->encode("admin", $this->get_roles()); |
|
|
|
|
|
|
|
echo "<br> $encoded <br>" . PHP_EOL; |
|
|
|
|
|
|
|
echo "Encrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
$startTime = microtime(true); |
|
|
|
|
|
|
|
$plain_text = $sc->decode("admin", $encoded); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->show_roles($plain_text); |
|
|
|
|
|
|
|
echo "Decrypt Time: " . number_format(( microtime(true) - $startTime), 4) . " Seconds\n"; |
|
|
|
|
|
|
|
echo "<hr><br>".PHP_EOL; |
|
|
|
|
|
|
|
} catch (Exception $ex) { |
|
|
|
|
|
|
|
// Handle the exception here |
|
|
|
|
|
|
|
echo $ex->getMessage(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function sodium_pwd_test() { // 0.1233 Seconds |
|
|
|
public function sodium_pwd_test() { // 0.1233 Seconds |
|
|
|
$startTime = microtime(true); |
|
|
|
$startTime = microtime(true); |
|
|
|
$c = new \tts\services\paragon_crypto\password_storage(); |
|
|
|
$c = new \tts\services\paragon_crypto\password_storage(); |
|
|
|
|