Laravel加密数据校验

Laravel encrypted data check

我在控制器中使用 Laravel 5.4 和 encrypt/decrypt 方法来保护用户数据。

$p-content 未加密时出现错误。我希望用户选择他们想要加密或不加密内容的天气。这意味着我需要检测内容或使用此选项将另一列添加到我的数据库中。理想情况下,我想简单地检查内容以查看它是否已加密。

public function index()
{
    $posts = Post::orderBy('id', 'desc')->get();

    foreach ($posts as $p) {
            **$p->content = decrypt($p->content);**
    }

    return view('posts.index', ['posts' => $posts]);
}

您可以向 table 添加标志,例如 is_encrypted

或者您可以捕获 decrypt 方法抛出的异常:

foreach ($posts as $p) {
    try {
        $p->content = decrypt($p->content);
    } catch(\RuntimeException $e) {
        // Content is not encrypted.
    }
}