Readouble

Laravel 5.2 暗号化

設定Configuration

Laravelの暗号化機能を使う前に、config/app.phpファイルのkeyオプションへ32文字のランダム文字列を確実に設定してください。この値をしっかりと設定しないとLaravelにより暗号化される値は安全ではありません。Before using Laravel's encrypter, you should set the key option of your config/app.php configuration file to a 32 character, random string. If this value is not properly set, all values encrypted by Laravel will be insecure.

基本的な使用法Basic Usage

値の暗号化Encrypting A Value

値を暗号化するには、Cryptファサードが使用できます。暗号化にはいつでもOpenSSLが使用され、AES-256-CBCアルゴリズムが行われます。さらに全暗号化値は変更を検出するためMACを使い署名されます。You may encrypt a value using the Crypt facade[/docs/{{version}}/facades]. All encrypted values are encrypted using OpenSSL and the AES-256-CBC cipher. Furthermore, all encrypted values are signed with a message authentication code (MAC) to detect any modifications to the encrypted string.

たとえば、secretを暗号化するためにencryptメソッドを使い、Eloquentモデルへ保存してみましょう。For example, we may use the encrypt method to encrypt a secret and store it on an Eloquent model[/docs/{{version}}/eloquent]:

<?php

namespace App\Http\Controllers;

use Crypt;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
     * ユーザーの秘密のメッセージを保存
     *
     * @param  Request  $request
     * @param  int  $id
     * @return Response
     */
    public function storeSecret(Request $request, $id)
    {
        $user = User::findOrFail($id);

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

注意: 暗号化の過程で、値は「シリアライズ」されています。これにより、オブジェクトや配列も暗号化できます。そのため、PHP以外のクライアントが暗号化された値を受け取る場合、そのデータを非シリアライズする必要があるでしょう。Note: Encrypted values are passed through serialize during encryption, which allows for "encryption" of objects and arrays. Thus, non-PHP clients receiving encrypted values will need to unserialize the data.

値の復号Decrypting A Value

当然ながらCryptファサードのdecryptメソッドを使えば、暗号値を解読(復号)できます。MACが無効な場合など、その値が正しくない時はIlluminate\Contracts\Encryption\DecryptExceptionが投げられます。Of course, you may decrypt values using the decrypt method on the Crypt facade. If the value can not be properly decrypted, such as when the MAC is invalid, an Illuminate\Contracts\Encryption\DecryptException will be thrown:

use Illuminate\Contracts\Encryption\DecryptException;

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

章選択

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

Pagination和文
ペジネーション
ペギネーション
ページネーション
ページ付け
Scaffold和文
スカフォールド
スキャフォールド
型枠生成
本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作