Professional Documents
Culture Documents
Encriptar Desencriptar
Encriptar Desencriptar
In this illustration, we'll be establishing a "products" table featuring fields for name, details, and a code. Our objective is to
securely store encrypted data within these fields and, when presenting this data on a webpage, to decrypt it. To streamline this
process, we'll utilize Laravel model "casts" to automatically handle the encryption and decryption of field values. Let's explore a
straightforward example to demonstrate this.
En este tutorial, descubrirá los campos de la base de datos cifrada de Laravel. Este artículo detalla los campos de la base de
datos de cifrado y descifrado de Laravel. Es un ejemplo sencillo de cómo cifrar campos de bases de datos en laravel. Aprenderá
a cifrar campos de bases de datos en el ejemplo de Laravel.
En esta ilustración, estableceremos una tabla de "productos" con campos para nombre, detalles y un código. Nuestro objetivo
es almacenar de forma segura datos cifrados dentro de estos campos y, cuando presentamos estos datos en una página web,
descifrarlos. Para agilizar este proceso, utilizaremos "casts" del modelo Laravel para manejar automáticamente el cifrado y
descifrado de los valores de los campos. Exploremos un ejemplo sencillo para demostrar esto.
Migración:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('products');
}
};
php artisan migrate
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
/**
* Write code on Method
*
* @return response()
*/
protected $fillable = [
'name', 'code', 'detail'
];
/**
* Write code on Method
*
* @return response()
*/
protected $hidden = [
'name', 'code', 'detail'
];
/**
* Write code on Method
*
* @return response()
*/
protected $casts = [
'name' => 'encrypted',
'code' => 'encrypted',
'detail' => 'encrypted'
];
}
En este paso, crearemos ProductController con index() y store() donde obtendremos registros y los almacenaremos.
así que creemos un controlador usando el siguiente comando.
app/Http/Controllers/ProductController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use Illuminate\View\View;
use App\Models\Product;
return view('products',compact('products'));
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request): RedirectResponse
{
$request->validate([
'name' => 'required',
'code' => 'required',
'detail' => 'required'
]);
$input = $request->all();
Product::create($input);
return redirect()->route('products.index')
->with('success','Product created successfully.');
}
}
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProductController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
</div>
</body>
</html>
All the required steps have been done, now you have to type the given below command and hit enter to run the
Laravel app:
php artisan serve
Now, Go to your web browser, type the given URL and view the app output:
http://localhost:8000/products