falta cargar thumbail y preview

This commit is contained in:
jaimejimenezortega
2024-06-04 20:05:12 +02:00
parent 51d4f988cc
commit 7e878c00b2
4 changed files with 16778 additions and 39 deletions

View File

@ -2,13 +2,6 @@
namespace App\Models\Presupuestos;
// Clave secreta para el cifrado y descifrado
define('SECRET_KEY', 'qnENEMHWt6sJgzGtEdfrT');
// Longitud del IV para AES-256-CBC
define('IV_LENGTH', openssl_cipher_iv_length('aes-256-cbc'));
class PresupuestoFicheroModel extends \App\Models\BaseModel
{
protected $table = "presupuesto_ficheros";
@ -66,6 +59,14 @@ class PresupuestoFicheroModel extends \App\Models\BaseModel
->where('presupuesto_id', $presupuesto_id)->delete();
}
public function getFiles($presupuesto_id){
return $this->db
->table($this->table . " t1")
->where('presupuesto_id', $presupuesto_id)->get()->getResult();
}
/**
* Función para convertir el nombre y extensión de un fichero en un hash único
* usando cifrado simétrico.
@ -74,27 +75,8 @@ class PresupuestoFicheroModel extends \App\Models\BaseModel
* @return string Hash encriptado del fichero
*/
private function generateFileHash($filename) {
$iv = openssl_random_pseudo_bytes(IV_LENGTH); // Generar un IV aleatorio
$encrypted = openssl_encrypt($filename, 'aes-256-cbc', SECRET_KEY, 0, $iv);
return base64_encode($iv . $encrypted); // Combinar IV y texto encriptado, y codificar en base64
return hash('sha256', $filename);
}
/**
* Función para obtener el nombre del fichero original a partir de un hash encriptado
* usando cifrado simétrico.
*
* @param string $hash Hash encriptado del fichero
* @return string|null Nombre original del fichero, o null si falla el descifrado
*/
private function getFileNameFromHash($hash) {
$data = base64_decode($hash);
if ($data === false) {
return null; // Error en la decodificación base64
}
$iv = substr($data, 0, IV_LENGTH);
$encrypted = substr($data, IV_LENGTH);
$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', SECRET_KEY, 0, $iv);
return $decrypted !== false ? $decrypted : null; // Verificar si el descifrado fue exitoso
}
}