2017-11-04 9 views
-1

こんにちは私はクッキーの価値を解読する必要があります。 私のコードを作成および破棄しますLaravel - クッキーの価値を解読する方法

public function setSession($id){ 
     Cookie::queue('userId', $id, 10000); 
    } 

    public function destroySession(){ 
     Cookie::queue(Cookie::forget('userId')); 
    } 

しかし、私は、暗号化せずにCookieの値を取得する必要があります。

+1

何を試しましたか?このウェブサイトはコーディングサービスではありません。 – Tenbo

+0

私のためにコードを書くように求めているわけではありません。私はあなたに問題の理解を助けるようお願いします。 私は試してみます:Crypt :: decrypt(Cookie :: get( 'userId')); - しかし、エラー: 'ペイロードは無効です。' –

+0

'Cookie :: get( 'userId')'はすでに内部的に復号化します。他の場所で暗号化していない限り、復号化する必要はありません。 – ceejayoz

答えて

3

ウェブリクエストコンテキストクッキーは、通常、自動的に暗号化され、EncryptCookiesミドルウェアによって暗号化され解読されます。したがって、このミドルウェアを有効にするのが最も簡単なオプションです(Laravelではデフォルトで有効になっています)。

手動で任意の値を復号化する必要がある場合は、次のようにトリックを行います:

// get the encrypter service 
$encrypter = app(\Illuminate\Contracts\Encryption\Encrypter::class); 

// decrypt 
$decryptedString = $encrypter->decrypt($encryptedString); 

それは内部的に何をするかについての詳細を学ぶためにEncryptCookiesミドルウェアのコードを確認してください。

+0

Thxあなた!この仕事は私のためです。 –

関連する問題