如何在laravel中使用编码和解码

时间:2014-07-14 10:31:13

标签: php laravel-4 laravel-3

在核心php中我们使用url_encode和url_decode,所以我们可以在laravel 4中使用这个函数 如果是,请帮助我。

<p> <a href="userregistrations/{{ $users-> id }}">{{ $users-> username }}</a>

我想编码$users->id。这个id是编码这个id的过程或方法,请帮助解码。

1 个答案:

答案 0 :(得分:0)

Laravel提供了一个称为加密的辅助功能。所有加密值均使用OpenSSL和AES-256-CBC密码进行加密。下面是一个如何使用它的示例。

public function storeSecret(Request $request, $id)
    {
        $user = User::findOrFail($id);

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

加密的值在加密过程中通过序列化传递,这允许对对象和数组进行加密。因此,接收加密值的非PHP客户端将需要对数据进行反序列化。如果您想在不进行序列化的情况下加密和解密值,则可以使用 Crypt 外观的 encryptString decryptString 方法:

use Illuminate\Support\Facades\Crypt;

$encrypted = Crypt::encryptString('Hello world.');

$decrypted = Crypt::decryptString($encrypted);

您可以使用解密助手来解密值。如果无法正确解密该值(例如,当MAC无效时),将抛出Illuminate \ Contracts \ Encryption \ DecryptException:

use Illuminate\Contracts\Encryption\DecryptException;

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

参考https://laravel.com/docs/5.4/encryption