Home>Article>PHP Framework> Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields)
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)Ciphersweetis a package provided bySpatiefor integrating searchable field level in Laravel extension recommendation: Ciphersweet package (encrypt/decrypt fields) applications encryption. Thereadmeof 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 forCiphersweetthat 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 readmesetup instructionsthat 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')); } }
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');
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 onThis pagewhich contains many linked resources
CipherSweet also hasPHP specific documentationto 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 atspatie/laravel-ciphersweet.
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 ://m.sbmmt.com/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!