Day21 跟着官方文件学习Laravel-Encryption

大家好,今天要介绍 Laravel 其中一个功能'加密',我会将这个加密加入我的专案实作之中。laravel的加密服务利用 AES-256 和 AES-128 加密通过 OpenSSL 加密和解密配置一个接口,并利用MAC进行签名,底层值一旦加密後就无法修改及窜改。

首先我们利用以下指令产出一个key

php artisan key:generate

而其中 key:generate 是使用 php 的 secure random bytes generator 来产生一个加密安全密钥。

接下来我们就可以使用Crypt来加密你想加密的值罗,我们到之前写好的UserService中,在注册的name把他加密起来,让他不要直接存在DB当中。

Crypt::encryptString(username);

先把他dd出来看吧!使用我们之前写好的command来测试。

这边会看到被加密过的字串,那我们把它夹到create里面就可以罗。

User::create([
            'account' => $account,
            'password' => Hash::make($password),
            'name' => Crypt::encryptString($username),
        ]);

那我们在读取的时候解密,改写一下UserController里的show()方法

public function show($id)
    {
        $user = User::select('id', 'name', 'account')->where('id', $id)->first();
        $user->name = Crypt::decryptString($user->name);
        return response()->json($user);
    }

得到以下结果

好,今天介绍加解密,明天来学习Hash!


<<:  【Day20】电子商务与行销篇-UTMs

>>:  [早餐吃到饱-5] 浮云客栈 #开幕至今仅两年的机器人智能旅店

MySQL Workbench 如何备份与还原资料库

MySQL 是免费的关联式资料库,具有轻量级速度快的优点,适合小型网站架设使用。 目前最流行的 Wo...

[DAY19] 用 Azure Machine Learning SDK 建立 Datastore

DAY19 用 Azure Machine Learning SDK 建立 Datastore 我们...

day 2 - 先看清楚目标的样子再动手

画流程图是我的第一堂程序课内容,大学教授讲了很多话,我记得的寥寥无几,其中一句话是:你画的出来就写得...

Day19 PHP的常用函数-4:文件处理函数、Json

文件处理函数 fopen(): 打开文件或者 URL fclose(): 关闭一个已打开的文件指针 ...

D20 - 「呐,你想要成为什麽颜色?」:将色彩传下去

这个章节来实作彩球组件,让使用者可以选择颜色。 建立颜色控制器 建立 color-ball.vue ...