加密与解密

更新时间: 2019-08-01 16:47

配置

在使用 Lumen 的加解密前,你应该先把 .env 文件中的 APP_KEY 选项设置为 32 位随机字符串。如果没有适当地设置这个值,所有被 Lumen 加密的值都将是不安全的。

基本用法

加密一个值

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

例如,我们可以使用 encrypt 方法加密机密信息,并把它保存在 Eloquent 模型

<?php

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;

class UserController extends Controller
{
    /**
     * 保存用户的机密消息。
     *
     * @param    Request  $request
     * @param    int  $id
     * @return  Response
     */
    public function storeSecret(Request $request, $id)
    {
        $user = User::findOrFail($id);

        $user->fill([
            'secret' => Crypt::encrypt($request->secret)
        ])->save();
    }
}

解密一个值

当然,你可以使用 Crypt 门面的 decrypt 方法来解密值。如果该值不能够被正确的解密,例如当 MAC(消息认证码)无效时,就会抛出异常 Illuminate\Contracts\Encryption\DecryptException

use Illuminate\Contracts\Encryption\DecryptException;

try {
    $decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
    //
}

查看更多 Laravel 中文文档 信息

天涯虚拟社区

天涯虚拟社区

刘华芹 / 民族出版社 / 2005-11 / 23.00元

网络空间很复杂,好多人并不完全了解或者只是了解到一些皮毛。比如说好多人对于见网友一事总是抱着浪漫或者暖昧的想法,而事实却并不总是想象的那样。作者在做虚拟社区研究甚至是在有这个想法之前并不常呆在网上,互联网对于作者来说就是查查资料、收发信年、看看新闻的工具。担是看着越来越多的人把时间花在网上,一处文化上的直觉告诉作者:有一种新的生活方式产生了。强烈的好奇心驱使着作者走到了网上,走到了天涯虚拟社区,并......一起来看看 《天涯虚拟社区》 这本书的介绍吧!

HTML 压缩/解压工具

HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码

HTML 编码/解码

HTML 编码/解码

RGB HSV 转换

RGB HSV 转换

RGB HSV 互转工具