ホームページ > バックエンド開発 > PHPチュートリアル > [ Laravel 5.2 ドキュメント ] サービス -- 暗号化

[ Laravel 5.2 ドキュメント ] サービス -- 暗号化

WBOY
リリース: 2016-06-23 13:17:13
オリジナル
1003 人が閲覧しました

1. 設定

Laravel の暗号化機能を使用する前に、設定ファイル config/app.php の key オプションを 32 ビットのランダムな文字列に設定する必要があります。この値が設定されていない場合、Laravel で暗号化されたすべての値は安全ではありません。

2. 基本的な使用方法

2.1 暗号化

暗号化ポータルを使用して、すべての暗号化された値が OpenSSL および AES-256-CBC 暗号化を使用して暗号化されます。さらに、暗号化された値はすべてメッセージ認証コード (MAC) を介して渡され、暗号化された文字列への変更が検出されます。

たとえば、encrypt メソッドを使用してシークレット属性を暗号化し、Eloquent モデルに保存できます。

<?phpnamespace App\Http\Controllers;use Crypt;use App\User;use Illuminate\Http\Request;use App\Http\Controllers\Controller;class UserController extends Controller{    /**     * Store a secret message for the user.     *     * @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();    }}
ログイン後にコピー

2.2 復号化

もちろん、Crypt ファサードで decrypt メソッドを使用して復号化することもできます。値を復号化できない場合、たとえば MAC が無効な場合、IlluminateContractsEncryptionDecryptException がスローされます:

use Illuminate\Contracts\Encryption\DecryptException;try {    $decrypted = Crypt::decrypt($encryptedValue);} catch (DecryptException $e) {    //}
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート