Laravel 的加密是使用 OpenSSL 所提供的 AES-256 以及 AES-128 加密,我们是强烈建议你使用 Laravel 自带的加密,而不是尝试去推出自己的加密算法,因为所有 Laravel 加密之后的结值都会使用消息认证码 (MAC) 签名,以便底层的值一旦加密就不能修改。
1. 配置
我们在进行加密之前,需要去配置文件 config\app.php
设置key值,'key’用的 -> .env文件里的 APP_KEY。
也可以通过命令去设置,我们这里用命令设置吧。 命令作用:生成APP_KEY的值
php artisan key:generate
我们看看.env文件,设置的是base64位然后是已经加密过的字符串,每一次执行命令都会变。
2.演示
我们写个路由,为了方便就不写控制器了,routes\web.php文件
use Illuminate\Support\Facades\Crypt;
Route::get('/test', function () {
$password="123456";
// 加密
$enpass=Crypt::encryptString($password);
echo $enpass;
echo "<hr>";
// 解密
echo Crypt::decryptString($enpass);
});
根据自己情况访问路由,我浏览器输入的是http://www.la.com/test,每次刷新可以看到加密过的密码都不一样。
效果: