目次
✅2。データを暗号化します
✅3。データを復号化します
✅4。例:暗号化されたデータをデータベースに保存します
モデル(オプション):
今あなたが保存するとき:
?§セキュリティノート
?ファサードなしの手動暗号化(オプション)
✅概要
ホームページ PHPフレームワーク Laravel Laravelでデータを暗号化および復号化する方法は?

Laravelでデータを暗号化および復号化する方法は?

Jul 30, 2025 am 03:23 AM
laravel 暗号化とデコード

LaravelはCrypt Facadeを使用して、データ暗号化と復号化を実装しています。まず、.envファイルに有効なapp_keyがあることを確認し、php artisan key:generateを介してそれを生成します。 1。$ necrypted = crypt :: encryptString( 'hello、this is Secret!')など、crypt :: encryptString()を使用して文字列を暗号化します。 2。Crypt:: DecryptString($ necrypted)を使用してデータを復号化し、Try-CatchでDecryptexceptionをキャッチします。 3.モデルでは、setssnattributeやgetSnattributeメソッドなど、アクセサや修飾子を介して読み取り値を自動的に暗号化できます。 4.暗号化を使用してパスワードを保存しないように注意してください。ハッシュ:: make()を使用する必要があります。 App_keyが元の暗号化されたデータを変更すると、復号化されません。大量のデータを暗号化して、オーバーヘッドを減らすことを避けてください。ファイル暗号化には、保存する前にコンテンツを暗号化する必要があります。概要:Laravelは、AES-256-CBCアルゴリズムを介して安全で便利な暗号化サービスを提供し、Cryptファサードを合理的に使用し、例外処理とキー管理を実行してデータセキュリティを確保します。

Laravelでデータを暗号化および復号化する方法は?

Laravelは、ビルトイン暗号化サービスを使用してデータを暗号化および復号化するシンプルで安全な方法を提供します。これは、デフォルトでAES-256-CBC暗号とOpenSSLを活用します。これにより、機密データ(APIキー、ユーザー情報、構成値など)を安全に保存または送信できるようになります。

Laravelでデータを暗号化および復号化する方法は?

Laravelでデータを暗号化および復号化する方法は次のとおりです。


✅1。LaravelCrypt Facadeを使用します

LaravelのCrypt Facadeは、暗号化と復号化のための簡単なインターフェイスを提供します。アプリには、 .envファイル(インストール中に自動的に生成される)に有効なAPP_KEYセットが設定されている必要があります。

Laravelでデータを暗号化および復号化する方法は?

.envに次のようなものが含まれていることを確認してください。

 app_key = base64:your-random-base64-encoded-string

次を使用して生成できます。

Laravelでデータを暗号化および復号化する方法は?
 PHP職人キー:生成

✅2。データを暗号化します

データを暗号化するには、 Crypt::encrypt()またはCrypt::encryptString()を使用します。

?シリアル化の問題を回避するために、文字列にencryptString()を使用します。

 Illuminate \ support \ facades \ crypt;を使用します。

$ necrypted = crypt :: encryptString( 'こんにちは、これは秘密です!');

これは、次のように見える暗号化された文字列を返します。

 eyjpdii6inl ...

これをデータベースまたはセッションに安全に保存できます。


✅3。データを復号化します

復号化するには、 Crypt::decryptString()を使用します(文字列の場合):

試す {
    $ decrypted = crypt :: decryptString($ necrypted);
    echo $復号化; //出力:こんにちは、これは秘密です!
} catch(illuminate \ contracts \ encryption \ decryptexception $ e){
    //復号化の障害を処理します(例、データの改ざん、間違ったキー)
    エコー「復号化が失敗しました!」;
}

DecryptExceptionが無効または改ざんされるため、常に復号化をトライキャッチブロックに覆い隠します。


✅4。例:暗号化されたデータをデータベースに保存します

暗号化するssn (社会保障番号)フィールドを備えたusersテーブルがあるとします。

モデル(オプション):

 Illuminate \ support \ facades \ crypt;を使用します。

クラスユーザーはモデルを拡張します
{
    // raw SSNを保存しないでください
    パブリック関数setSSnattribute($ value)
    {
        $ this-> attributes ['ssn'] = crypt :: encryptString($ value);
    }

    パブリック機能getssnattribute($ value)
    {
        試す {
            return crypt :: decryptString($ value);
        } catch(\ illuminate \ contracts \ encryption \ decryptexception $ e){
            「復号化が失敗した」を返します。
        }
    }
}

今あなたが保存するとき:

ユーザー:: create([
    'name' => 'John Doe'、
    'SSN' => '123-45-6789'、//自動的に暗号化されています
]);

あなたが読むとき:

 $ user = user :: first();
echo $ user-> ssn; //自動的に復号化→「123-45-6789」

?§セキュリティノート

  • パスワードを暗号化しないでください- 代わりにHash::make()を使用します。
  • 暗号化はAPP_KEYを使用します。それが変更された場合、以前に暗号化されたすべてのデータが除去できなくなります。
  • 大量のデータを暗号化しないでください。暗号化により、オーバーヘッドとストレージサイズが追加されます。
  • ファイルを暗号化するには、保存する前にファイルコンテンツを暗号化して読んだ後に暗号化することを検討してください。

?ファサードなしの手動暗号化(オプション)

サービスコンテナを直接使用することもできます。

 app( 'encryptter') - > encryptString( 'data');
app( 'encrypter') - > decryptString($ necryptedData);

✅概要

タスク コード
文字列を暗号化します Crypt::encryptString('secret')
文字列を復号化します Crypt::decryptString($encrypted)
エラーを処理します try/catchを使用してください
モデルの自動暗号化/復号化 アクセサ/ミューテーターを使用します

基本的に、Laravelは暗号化をシンプルで安全に箱から出します。適切なエラー処理を使用して、 Crypt::encryptString()およびCrypt::decryptString()使用してください。 APP_KEYを安全に保ち、復号化されたデータを不必要に公開しないでください。

以上がLaravelでデータを暗号化および復号化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelの構成キャッシュとは何ですか? Laravelの構成キャッシュとは何ですか? Jul 27, 2025 am 03:54 AM

Laravelの構成キャッシュは、すべての構成ファイルを単一のキャッシュファイルにマージすることにより、パフォーマンスを向上させます。生産環境で構成キャッシュを有効にすると、各リクエストでI/O操作を削減し、ファイルの解析を行うと、構成の読み込みが高速化されます。 1.アプリケーションが展開され、構成が安定しており、頻繁な変更は必要ありません。 2。構成を有効にして変更した後、phpartisanconfigを再実行する必要があります:キャッシュを有効にします。 3.構成ファイルのランタイム条件に依存する動的ロジックまたはクロージャーを使用しないでください。 4.トラブルシューティングの問題の場合、まずキャッシュをクリアし、.ENV変数を確認して、再キャッシュする必要があります。

Laravelでヘルパーファイルを作成する方法は? Laravelでヘルパーファイルを作成する方法は? Jul 26, 2025 am 08:58 AM

createahelpers.phpfileinapp/helperswithcustomfunctionslikeformatprice、isactiveroute、andisadmin.2.addthefiletothe "files" sectionofcomposer.jsonunderautoload.3.3.runcomposerdump-autoloadtomadtomakeTomeTheEfunctionSglunctionSglovalliableableableableableableableableableableableableabuntion

Laravelテストでオブジェクトをock笑する方法は? Laravelテストでオブジェクトをock笑する方法は? Jul 27, 2025 am 03:13 AM

usemockeryforcustomdependenciesbysettingtintingations withshouldreceive()。2。uselaravel’sfake()methodforfacadeslikemail、queue、andhttptopreventreal interactions.3.replacecontainer-boundserviceswith

Laravelで紹介システムを実装する方法は? Laravelで紹介システムを実装する方法は? Aug 02, 2025 am 06:55 AM

紹介テーブルを作成して、紹介、紹介、推奨コード、使用時間を含む推奨関係を記録します。 2.推奨データを管理するために、ユーザーモデルのBelongStomanyとHasmanyの関係を定義します。 3.登録時に一意の推奨コードを生成します(モデルイベントを通じて実装できます)。 4.登録中にパラメーターをクエリすることにより、推奨コードをキャプチャし、検証後に推奨関係を確立し、自己称賛を防ぎます。 5.推奨されるユーザーが指定された動作(サブスクリプション順序)を完了した場合、報酬メカニズムをトリガーします。 6.共有可能な推奨リンクを生成し、Laravel Signature URLを使用してセキュリティを強化します。 7.推奨事項の総数や変換された番号など、ダッシュボードに推奨統計を表示します。データベースの制約、セッション、またはCookieが持続することを確認する必要があります。

Laravelプロジェクトを実行する方法は? Laravelプロジェクトを実行する方法は? Jul 28, 2025 am 04:28 AM

CheckPhp> = 8.1、Composer、およびWebserver; 2.CloneOrCreateProjectAndRunComposErinStall; 3.Copy.Env.Exampleto.ENVANDRUNPHPARTISANKEY :generate; 4.setDatabaseCredentialSin.EnvandrunphpartisanMigrate-- Seed; 5.StartServerWithPhpartisEnserve; 6.optionallyrunnpmins

Laravelでデータベースをシードする方法は? Laravelでデータベースをシードする方法は? Jul 28, 2025 am 04:23 AM

シーダーファイルの作成:phpartisanmake:seederuserseederを使用してシーダークラスを生成し、実行方法のモデルファクトリーまたはデータベースクエリを介してデータを挿入します。 2。Databaseseederで他のシーダーを呼び出す:sulderseeder、Postseederなどを登録$ this-> call()を介して依存関係が正しいことを確認します。 3。シーダーの実行:PHPARTISANDBを実行する:種子をすべて登録したすべてのシーダーを実行するか、PHPARTISANMIGRATE:FRESS-シードを使用してデータをリセットして補充します。 4

LaravelでREST APIを構築する方法は? LaravelでREST APIを構築する方法は? Jul 30, 2025 am 03:41 AM

新しいLaravelプロジェクトを作成し、サービスを開始します。 2。モデル、移行、コントローラーを生成し、移行を実行します。 3.ルート/api.phpのRESTFULルートを定義します。 4.ポストコントローラーに追加、削除、変更、クエリメソッドを実装し、JSON応答を返します。 5. PostmanまたはCurlを使用して、API関数をテストします。 6.オプションで、Sanctumを介してAPI認証を追加します。最後に、実用的なアプリケーションに適した、完全かつ拡張可能なLaravelRestapiの明確な構造を取得します。

Laravelでイベントとリスナーを使用します。 Laravelでイベントとリスナーを使用します。 Jul 26, 2025 am 08:21 AM

Laravelでイベントやリスナーを使用することは、主なロジックを切り離す効果的な方法です。 1.イベントを作成し、リスナーを生成し、職人コマンドを介してEventserviceProviderにバインドできます。 2。実際の使用では、イベントは複数のリスナー、キューの失敗の再試行、リスナーを軽量に保ち、イベントの加入者を登録することに対応できることに注意する必要があります。 3.テストとデバッグ中に、イベントのトリガー、リスナーのバインディング、キュードライブステータスを確認し、queue_connection =同期して合成してトラブルシューティングを容易にする必要があります。 4.高度なヒントには、条件に応じてリスナーの実行または登録を動的に制御することが含まれますが、上級ユーザーにはお勧めします。これらの重要なポイントを習得すると、コード制御の改善に役立ちます

See all articles