Home > PHP Framework > Laravel > Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)

Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)

青灯夜游
Release: 2022-12-23 19:40:42
forward
1212 people have browsed it

This article will share with you a Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) extension: the Ciphersweet package. It will introduce how to use Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) Ciphersweet to encrypt/decrypt the Eloquent model fields in Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields). I hope it will be helpful to everyone!

Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)

Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) Ciphersweet is a package provided by Spatie for integrating searchable field level in Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) applications encryption. The readme of the package explains the problem that password sweetening can help solve, as follows:

In your project, you may store sensitive personal data in a database middle. If an unauthorized person accesses your database, all sensitive data can be read, which is obviously not good.

To solve this problem, you can encrypt your personal data. That way, unauthorized people can't read it, but your application can still decrypt it when you need to display or use the data.

This package is a wrapper for Ciphersweet that allows you to easily integrate its functionality into Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) models. The following is an example of a model from the readme setup instructions that illustrates the use of the Ciphersweet model.

use Spatie\Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)CipherSweet\Contracts\CipherSweetEncrypted;
use Spatie\Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)CipherSweet\Concerns\UsesCipherSweet;
use ParagonIE\CipherSweet\EncryptedRow;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements CipherSweetEncrypted
{
    use UsesCipherSweet;

    public static function configureCipherSweet(EncryptedRow $encryptedRow): void
    {
        $encryptedRow
            ->addField('email')
            ->addBlindIndex('email', new BlindIndex('email_index'));
    }
}
Copy after login

This allows you to encrypt a user's email to prevent unauthorized people from reading it. Gets the data, but allows you to decrypt the data to display or use it.

Once you configure this package and set up the model, you can search the database for encrypted data using blind indexes:

$user = User::whereBlind('email', 'email_index', 'rias@spatie.be');
Copy after login

This package also helps generate encryption keys and encryption models Properties to speed up integration with cryptography.

I would like to point out that you should not blindly use this package without understanding the ins and outs of the use case you are trying to solve. You can learn more about CipherSweet on This page which contains many linked resources

CipherSweet also has PHP specific documentation to help you quickly understand the underlying PHP Bag.

I also recommend reading Rias's post, Encrypting Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) Eloquent models using CipherSweet.

To get started with this package, check it out on GitHub at spatie/laravel-ciphersweet.

            packages
All translations in this article are for learning and communication purposes only. When reprinting, please be sure to indicate the translator, source, and link to this article
Our translation work complies with CC Agreement. If our work infringes upon your rights, please contact us in time.

Original address: https://laravel-news.com/laravel-ciphers...

Translated address: https ://www.php.cn/link/53701130ff29be387e2fa7e04928b5ed

The above is the detailed content of Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:learnku.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template