2023-01-01 02:11:34 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @package Joomla.Component.Builder
|
|
|
|
*
|
|
|
|
* @created 4th September, 2022
|
|
|
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
|
|
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
|
|
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
|
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace VDM\Joomla\Componentbuilder\Crypt;
|
|
|
|
|
|
|
|
|
2023-10-18 07:26:30 +00:00
|
|
|
use VDM\Joomla\FOF\Encrypt\AES;
|
2023-01-01 02:11:34 +00:00
|
|
|
use VDM\Joomla\Componentbuilder\Interfaces\Cryptinterface;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2023-10-18 07:26:30 +00:00
|
|
|
* Temp Class for FOFEncryptAes
|
2023-01-01 02:11:34 +00:00
|
|
|
*
|
|
|
|
* @since 3.2.0
|
|
|
|
*/
|
|
|
|
class FOF implements Cryptinterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Encrypt a string as needed
|
|
|
|
*
|
|
|
|
* @param string $string The string to encrypt
|
|
|
|
* @param string $key The encryption key
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
* @since 3.2.0
|
|
|
|
**/
|
|
|
|
public function encrypt(string $string, string $key): string
|
|
|
|
{
|
2023-10-18 07:26:30 +00:00
|
|
|
// Get the encryption object.
|
|
|
|
$aes = new Aes($key, 128);
|
2023-01-01 02:11:34 +00:00
|
|
|
|
2023-10-18 07:26:30 +00:00
|
|
|
return $aes->decryptString($string);
|
2023-01-01 02:11:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Decrypt a string as needed
|
|
|
|
*
|
|
|
|
* @param string $string The string to decrypt
|
|
|
|
* @param string $key The decryption key
|
|
|
|
*
|
2023-10-18 07:26:30 +00:00
|
|
|
* @return string|null
|
2023-01-01 02:11:34 +00:00
|
|
|
* @since 3.2.0
|
|
|
|
**/
|
2023-10-18 07:26:30 +00:00
|
|
|
public function decrypt(string $string, string $key): ?string
|
2023-01-01 02:11:34 +00:00
|
|
|
{
|
2023-10-18 07:26:30 +00:00
|
|
|
// Get the encryption object.
|
|
|
|
$aes = new Aes($key, 128);
|
2023-01-01 02:11:34 +00:00
|
|
|
|
2023-10-18 07:26:30 +00:00
|
|
|
try {
|
|
|
|
return $aes->decryptString($string);
|
|
|
|
} catch (\Exception $ex) {
|
2023-01-01 02:11:34 +00:00
|
|
|
return null;
|
|
|
|
}
|
2023-10-18 07:26:30 +00:00
|
|
|
}
|
2023-01-01 02:11:34 +00:00
|
|
|
}
|
|
|
|
|