ラーヴェルはリクエストとレスポンスのクッキーのハッシングが異なるのですか?ラーベールクッキーの暗号化
私はCORSとCSRFを設定しており、EncryptCookies
クラスからクッキーを除外すると、応答ヘッダーとリクエストヘッダーに同じCookieが表示されます。
ただし、私はそれらを暗号化しておくと、別の「暗号化文字列」が得られます。それが許容できる動作であるかどうかわかりません。唯一Laravel EncryptionについてKernel.php
ラーヴェルはリクエストとレスポンスのクッキーのハッシングが異なるのですか?ラーベールクッキーの暗号化
私はCORSとCSRFを設定しており、EncryptCookies
クラスからクッキーを除外すると、応答ヘッダーとリクエストヘッダーに同じCookieが表示されます。
ただし、私はそれらを暗号化しておくと、別の「暗号化文字列」が得られます。それが許容できる動作であるかどうかわかりません。唯一Laravel EncryptionについてKernel.php
にweb
部分の下に表示され
EncryptCookies
クラス:
Laravelの暗号化器は、AES-256およびAES-128暗号化 を提供するために、OpenSSLを使用しています。 Laravelに内蔵されている 暗号化機能を使用し、独自の "自宅で増殖した" 暗号化アルゴリズムを使用することは絶対にお勧めします。 Laravelの暗号化された値はすべて、メッセージ認証コード(MAC)を使用して の値を暗号化した後は変更できないように、 に署名されています。各暗号化のための
、値がペイロード、あなたが同じ値を暗号化した場合でも、異なるinitialization vectorでAES-256/AES-128で暗号化し、異なるMACで署名され、常に異なるencrypt
の値が返されました。理解を容易にするため、この例を確認することができます。
$value = Crypt::encrypt('foo');
// eyJpdiI6ImVoNEVlVWpnYUdwZ1JHRlJWSGlTZEE9PSIsInZhbHVlIjoiVThpWjJNWVBqZnVsWjhLVWNDXC85VHc9PSIsIm1hYyI6IjFjMDRhOTM5ZThhOWRmYjk3Mzk0OWFmNTM3YWE1NDAzNzMxNWY5YTJmODMwNmQxZDE4NDllZGJkMjc1Y2I3ZmYifQ==
base64_decode($value);
// {"iv":"eh4EeUjgaGpgRGFRVHiSdA==","value":"U8iZ2MYPjfulZ8KUcC\/9Tw==","mac":"1c04a939e8a9dfb973949af537aa54037315f9a2f8306d1d1849edbd275cb7ff"}
第二の試み:!
$value = Crypt::encrypt('foo');
// eyJpdiI6Ill5MmZleG5ycTBaZmQ5NnRDT3N3dVE9PSIsInZhbHVlIjoiTmgrRnlqajJjUk9qTk1qeHJLU21LUT09IiwibWFjIjoiNWEzZDRjZWMwMjg0ZDhlMjhlZWRiODg3ZWQ5MTcxN2I5N2JjY2ZmMzc0NTYyOTI5MThmOTk4YjAyZjM1YTRjMyJ9
base64_decode($value);
// {"iv":"Yy2fexnrq0Zfd96tCOswuQ==","value":"Nh+Fyjj2cROjNMjxrKSmKQ==","mac":"5a3d4cec0284d8e28eedb887ed91717b97bccff37456292918f998b02f35a4c3"}
暗号化された値が異なる場合、どのトークンが同じトークンであるかはどのように分かりますか? – Norgul
Crypt :: decrypt()はそれを解読し、返された値は同じになります。 'Crypt :: decrypt(Crypt :: encrypt( 'foo'))== Crypt :: decrypt(Crypt :: encrypt( 'foo'))' – Tschallacka
関連リンク:https://stackoverflow.com/questions/9049789/ aes-encryption-key-vs-iv – Ben
をそれがあるため、暗号化=ハッシュかもしれません。 –
代わりにそれを "暗号化文字列"と呼ぶことができます:) – Norgul
私が言ったのは、暗号化は毎回同じ "暗号化された文字列"を与える必要はないということです。例えば。 http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html –