Blog

Crypter les valeurs de base de données dans Laravel avec DB Encrypter

Traduit de l'anglais-Le cryptage de base de données peut généralement être défini comme un processus qui utilise un algorithme pour transformer les données stockées dans une base de données en un "texte chiffré" incompréhensible sans être décrypté au préalable.

Laravel DB Encrypter est un package de Daniel Częstki qui chiffre et déchiffre automatiquement les valeurs stockées dans les champs de la base de données. Il utilise le cryptage standard de Laravel via un trait:

use betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute;

class Client extends Eloquent
{
    use EncryptableDbAttribute;

    /** @var array The attributes that should be encrypted/decrypted */
    protected $encryptable = [
        'id_number', 
        'email',
    ];
}

Remarque: les valeurs chiffrées sont plus longues que leurs homologues en texte brut. Le package recommande de stocker les données sous forme de TEXTcolonne:

Si vos données actuelles ne sont pas chiffrées, la colonne sera retournée telle quelle. Vous pouvez consulter le package sur GitHub à betterapp / laravel-db-encrypter .