Laravel中APP_KEY起什么作用

引用思否的回答

框架中是这样描述的:
This key is used by the Illuminate encrypter service and should be set to a random, 32 character string, otherwise these encrypted strings will not be safe. Please do this before deploying an application!
也就是这个key是一个随机字符串,用于实现框架中的encrypt(加密)服务,例如存储用户的session,cookie等,从而确保信息安全。可以通过artisan命令将该key更新。

传送门:https://segmentfault.com/q/1010000009773300

代码测试:
使用Laravel的加密辅助函数encrypt()

encrypt()

encrypt 函数使用 Laravel 的加密器对给定的值进行加密:

$encrypted = encrypt($unencrypted_value);

加密一个值
可以使用辅助函数encrypt来加密一个值。 所有的加密值都使用 OpenSSL 和 AES-256-CBC 来进行加密。 此外, 所有加密过的值都会使用消息认证码 (MAC)来进行签名,以检测加密字符串是否被篡改过 :

代码测试:
填写APP_KEY

    //加密解密
    public function crypt()
    {
        $password = "123456";
        $cryptPassword = encrypt($password);
        echo $cryptPassword.PHP_EOL;
        $passwordUncrypt = decrypt($cryptPassword);
        echo $passwordUncrypt;
    }

输出(.....是我省略了加密后的字符)

eyJpdiI6IlZESmZYVjZ0bmQ2MVBlVWIzaFNQdUE9PSIsInZhbHVlIjoidndtaVorWklUbDJqc29iamNzZ2VSZz09IiwibWFjIjoiNTEwYjRkZD......................
123456

不填写APP_KEY
输出

RuntimeException
No application encryption key has been specified.

你可能感兴趣的:(Laravel中APP_KEY起什么作用)