Laravel - 暗号化

PHPz
リリース: 2024-08-27 11:59:54
オリジナル
634 人が閲覧しました

暗号化は、第三者のユーザーが情報を読み取ることができないように、いくつかのアルゴリズムを使用してプレーン テキストをメッセージに変換するプロセスです。これは、転送される情報を侵入者が狙う可能性が低くなるため、機密情報を送信する場合に役立ちます。

暗号化は、暗号化と呼ばれるプロセスを使用して実行されます。暗号化されるテキストは平文と呼ばれ、暗号化後に得られるテキストまたはメッセージは暗号文と呼ばれます。暗号文を平文に変換するプロセスは復号と呼ばれます。

LaravelはAES-256AES-128暗号化を使用し、暗号化にOpen SSLを使用します。 Laravelに含まれるすべての値は、プロトコルメッセージ認証コードを使用して署名されているため、暗号化されると基になる値は改ざんできなくなります。

構成

Laravelでkeyを生成するために使用されるコマンドを以下に示します-

php artisan key:generate
ログイン後にコピー

このコマンドは PHP セキュア ランダム バイト ジェネレーターを使用しており、以下のスクリーンショットに示すような出力が表示されることに注意してください -

Artisan Key

上記のコマンドはキーの生成に役立ちますWebアプリケーションで使用できます。以下に示すスクリーンショットを確認してください。-

暗号化の値は、config/app.phpファイル内で適切に調整されており、このファイルには、暗号化用の 2 つのパラメーター、つまりkeycipherが含まれています。このキーを使用する値が適切に調整されていない場合、Laravel で暗号化されたすべての値は安全ではなくなります。これらの値は、OpenSSL および AES-256 暗号を使用して暗号化されます。すべての暗号化された値は、暗号化された文字列の変更をチェックするためにメッセージ認証コード (MAC) で署名されます。

以下に示すコードはコントローラーで言及され、秘密または機密メッセージを保存するために使用されます。

fill([ 'secret' => encrypt($request->secret) ])->save(); } }
ログイン後にコピー

Laravel - 暗号化復号化プロセス

値の復号化は、

復号化ヘルパー

を使用して行われます。次のコード行に注目してください -

use IlluminateContractsEncryptionDecryptException; // Exception for decryption thrown in facade try { $decrypted = decrypt($encryptedValue); } catch (DecryptException $e) { // }
ログイン後にコピー

無効な MAC が使用されているために復号化プロセスが成功しない場合は、適切な例外がスローされることに注意してください。

以上がLaravel - 暗号化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!