laravel php代码加密,Laravel如何加密一个值

Laravel加密一个值的方法:首先设置“config/app.php”配置文件中的“key”选项;然后借助“encrypt”辅助函数来加密一个值即可。

e2d2dd8cd7048f5d743489ceabd2922e.png

Laravel如何加密一个值?

设置

在使用 Laravel 加密之前, 你必须先设置 config/app.php 配置文件中的 key 选项。由于 Artisan 控制台会使用 PHP 的安全机制为你随机生成 key ,你可以直接使用 php artisan key:generate 命令去生成 key 。如果没有适当地设置这个值,所有被 Laravel 加密的值都将是不安全的。

基本用法

加密一个值

你可以借助 encrypt 辅助函数来加密一个值。这些值都会使用 OpenSSL 与 AES-256-CBC 来进行加密。此外,所有加密过后的值都会被签署文件消息验证码 (MAC),以检测加密字符串是否被篡改过:<?php

namespace App\Http\Controllers;

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' => encrypt($request->secret)

])->save();

}

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Laravel的表单验证程序,包括加密和通过MySQL读写实例: 1. 创建一个表单验证器类 ``` php artisan make:validator MyFormValidator ``` 2. 在MyFormValidator类中添加验证规则和自定义错误消息: ```php namespace App\Validators; use Illuminate\Validation\Validator; class MyFormValidator extends Validator { public function validateEncrypted($attribute, $value, $parameters) { // 验证加密字符串 return preg_match('/^[a-f0-9]{64}$/', $value); } protected function replaceEncrypted($message, $attribute, $rule, $parameters) { // 自定义错误消息 return str_replace(':attribute', $attribute, 'The :attribute must be a 64-character hexadecimal string.'); } } ``` 3. 在控制器中使用表单验证器类 ```php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Validators\MyFormValidator; class MyController extends Controller { public function store(Request $request) { $validator = new MyFormValidator(app('translator'), $request->all(), [ 'encrypted_field' => 'required|encrypted' ]); if ($validator->fails()) { return redirect()->back()->withErrors($validator->errors()); } // 通过MySQL读写实例存储数据 $encrypted_value = $request->input('encrypted_field'); DB::connection('mysql2')->table('my_table')->insert(['encrypted_field' => $encrypted_value]); return redirect('/success'); } } ``` 这个表单验证程序将验证表单中的一个字段是否是一个64位十六进制加密字符串,并通过MySQL读写实例存储数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值