Laravel 5 中的加密和解密

2023-12-06

我一直在寻找有关在 Laravel 中加密和解密值的想法(例如 VIN 号、员工 ID 卡号、社会保障号等),最近在 Laravel 网站上发现了这一点:https://laravel.com/docs/5.6/加密

我的问题是,如何在刀片模板上打印解密的值?我可以看到通过控制器并设置一个变量,然后将其打印到 Blade,但我很好奇如何将解密的值打印到索引?就像这样...

@foreach($employees as $employee)
{{$employee->decrypted value somehow}}
{{$employee->name}}
@endforeach

您可以使用特征(trait)来处理加密属性(app/EncryptsAttributes.php):

namespace App;

trait EncryptsAttributes {

    public function attributesToArray() {
        $attributes = parent::attributesToArray();
        foreach($this->getEncrypts() as $key) {
            if(array_key_exists($key, $attributes)) {
                $attributes[$key] = decrypt($attributes[$key]);
            }
        }
        return $attributes;
    }

    public function getAttributeValue($key) {
        if(in_array($key, $this->getEncrypts())) {
            return decrypt($this->attributes[$key]);
        }
        return parent::getAttributeValue($key);
    }

    public function setAttribute($key, $value) {
        if(in_array($key, $this->getEncrypts())) {
            $this->attributes[$key] = encrypt($value);
        } else {
            parent::setAttribute($key, $value);
        }
        return $this;
    }

    protected function getEncrypts() {
        return property_exists($this, 'encrypts') ? $this->encrypts : [];
    }

}

必要时在您的模型中使用它:

class Employee extends Model {

    use EncryptsAttributes;

    protected $encrypts = ['cardNumber', 'ssn'];

}

然后你就可以获取和设置属性而无需考虑加密:

$employee->ssn = '123';
{{ $employee->ssn }}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5 中的加密和解密 的相关文章

  • 从 php 中的 PKCS7 签名中提取证书

    我需要从 pkcs7 签名文件中提取用户证书 我可以使用以下命令通过命令行来完成此操作 openssl pkcs7 in somesign pks7 inform PEM print certs 这将为我提供整个证书链 我可以处理生成的文件
  • 如何从 IIS 7.5 中的 PHP 页面诊断内部服务器错误 (HTTP 500)

    我正在尝试获取在我的本地开发计算机 带有 IIS 7 5 的 Windows 7 64 位 上运行的 aMember 会员管理系统的试用副本 我有 MySQL 5 5 10 和 PHP 5 3 6 后者是我使用 Windows 安装程序包安
  • 如何在变量中存储包含哈希标记的完整 url?

    我正在尝试存储一个网址 例如 http localhost pro print index php page home http localhost pro print index php page home 在变量中 但我找不到执行此操作
  • Angular2 + Laravel 与实时和 WebSockets

    我构建了一个应用程序 并计划与 Angular 2 和 laravel 进行实时战斗 例如 你按下 攻击 按钮 你的对手就会实时看到他的生命在下降 我的应用程序构建有 前端 角2 Backend PHP Laravel 5 2 现在我正在寻
  • 使用自定义服务的编译器传递加载 Symfony 的参数

    根据这个问题如何从数据库加载 Symfony 的配置参数 Doctrine https stackoverflow com q 28713495 8945214我有一个类似的问题 我需要动态设置参数 并且我想提供来自另一个自定义服务的数据
  • 尝试使用 swift mailer、gmail smtp、php 发送邮件

    这是我的代码
  • 使用 fgetcsv 循环遍历 csv

    我有一个包含 3 列的 csv 文件 电子邮件地址 名 and 姓 我已经到了可以使用以下代码打印数组的阶段 这会打印数组 因此每个字段都在一行中 我希望它打印的只是该行第一列中的值 这是如何完成的 关于 fgetcsv 的文档对我 相对初
  • PHPUnit RabbitMQ:为创建连接函数编写测试

    我面临以下问题 我编写了一个函数 根据所需参数创建连接对象 AMQPConnection 现在我想编写相应的单元测试 我只是不知道在没有运行 RabbitMQ 代理的情况下如何做到这一点 这是有问题的函数 public function g
  • Laravel 在 Eloquent 范围和查询中使用 select

    我正在尝试清理我编写的一些代码 这是当前的代码 message Message with comments gt join users messages created by users id gt join team user messa
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • Blade @if 中的 Laravel 会话变量

    当我尝试使用 Laravel Session 在刀片中设置 JS 变量来刷新一些数据时 我在 Laravel 4 2 中遇到了一些奇怪的情况 这很简单 我不知道我错过了什么 目标 在用户注册后立即触发 Javascript 网站浏览 方法
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • 为什么index.html优先于index.php?

    我在服务器上有一个网站 主页是 example com index php 好的 我将一个名为 index html 的文件上传到服务器 根目录 当我在浏览器的 URL 栏中输入站点的域时 我感到惊讶 因为 index html 页面已加载
  • jQuery id 选择器在有 .在 ID 中[重复]

    这个问题在这里已经有答案了 我的html代码如下 div class chatbox html markup which is validated div 在上面的代码中dipesh parmardiv 动态添加 我正在使用以下代码访问它
  • TCPDF UTF-8 符号未显示

    我使用最新的 TCPDF 版本 5 9 但在编码方面遇到一些奇怪的问题 我需要立陶宛语语言符号 例如 但只能得到其中的一小部分 其他的还是这样 所以我该怎么做 我使用默认的 times 字体 它带有 TCPDF 下载 任何帮助 将不胜感激
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • 按通用值对值进行分组:userid 和 ipaddress

    我正在解决数据库中的一个问题 我正在尝试查找使用多个帐户的用户 我有一个用户 ID 和使用的 IP 地址的列表 如下所示 用户 ID IP 地址 1 IP 地址 13 2 IP 地址 23 1 IP 地址 12 4 IP地址56 9 IP
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p

随机推荐

  • 如何在 C# 中获取对象的小写名称(即使为 null)[重复]

    这个问题在这里已经有答案了 我有C 方法 private static string TypeNameLower object o return o GetType Name ToLower 给我输入对象的小写类型名称 但是 如果输入是设置
  • C# WCF - 客户端/服务器 - System.OutOfMemory 异常

    问题 使用 Net TCP 绑定 发布者 订阅者模式 的 C WCF 客户端 服务器应用程序 客户端不断崩溃OutOfMemoryException 当我与客户端一起运行任务管理器时 我可以看到 内存使用情况 列不断增加 直到应用程序崩溃
  • java.net.Socket TCP keep-alive 用法

    如何使用java net Socket setKeepAlive boolean b API 我正在使用一个简单的服务器托管Socket 客户端可以连接并发送数据 除非客户端发送流结束 否则我不会关闭连接 客户端可以继续保持连接任意时间 数
  • 如何为EBS和RDS创建VPC?

    我制作了一个 Django 应用程序并将其部署在Elastic Beanstalk 我做了一个 Postgres DBRDS以及 我想将这两个添加到VPC 我创建了VPC使用专有网络向导 具有公共和私有子网的 VPC 顾名思义 它创建了1
  • 使用 Javascript 单击时显示 1 个 div 并隐藏所有其他 div

    我正在我的网站上设置一个 个人简介 部分 我有 3 张员工图片和 3 个 div 每个员工的个人简介如下 我想默认隐藏所有BIOS 然后仅显示与单击的图像关联的div 并隐藏所有其他div 目前看来它没有找到元素 因为我得到 未定义 这是到
  • XPath获取最大ID

    XML 来源
  • CSS 防止 div flex 拉伸子元素

    div 的时刻flexdisplay 属性会拉伸段落 我似乎遗漏了一些东西 但我认为放在 Flex div 上的任何属性都不会改变这一点 我怎样才能防止这种行为 没有 flex 属性 我得到图像右侧的结果 div display flex
  • String(contentsOf url:URL) 可能会抛出什么类型的异常?

    我正处于重构原型以使其更加灵活的阶段 这意味着我想添加错误处理 我的应用程序非常依赖 String contentsOf url 与处理文件的任何操作一样 它很容易出错 然而 相关 init 方法的签名只是这样写 init contents
  • 无法打开数据库/无法将(数据库)的区域设置更改为“en_US”

    我已阅读解决方案无法将数据库 data data my easymedi controller databases EasyMediInfo db 的区域设置更改为 en US 但这对我没有帮助 我仍然有同样的错误 这些是我的DBHelpe
  • Spark提交抛出错误java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp

    我编写了一个字数统计代码 但是当我尝试使用以下命令从 Windows 中的 CMD 运行它时 它会抛出异常 spark submit class com sample WordCount master local file E WordCo
  • 如何使用正则表达式验证多封电子邮件?

    在对 Stackoverflow 进行快速研究后 我无法找到使用正则表达式进行多电子邮件验证的任何解决方案 拆分 JS 函数不适用 但由于某种原因 应用程序后端等待一个电子邮件以 分隔的字符串 以下是要求 应使用以下规则验证电子邮件 A Z
  • 如何知道@RequestMapping的哪个参数被调用

    这是我的 RequestMapping注解 RequestMapping loginBadCredentials loginUserDisabled loginUserNumberExceeded public String errorLo
  • Outlet 无法连接到 CollectionView 单元格中的重复内容

    当我尝试连接已声明为的 UICollectionViewCell 中的 UILabel 时 property nonatomic weak IBOutlet UILabel Title 它表明 插座无法连接到重复内容 我做了一些搜索 发现我
  • 在 Python 中使用 WlanScan 强制 wifi 扫描

    我想知道如何执行WlanScanpython 中的函数用于启动无线网络扫描 我正在使用 python 模块win32wifi 它需要使用获得的句柄WlanOpenHandle和接口 GUIDpInterfaceGuid 我不知道如何获得这个
  • 如何将附加变量传递到下划线模板

    我有一个主干视图 它在下划线模板中呈现搜索结果 由于我想在结果中突出显示搜索词 因此我在模板中使用了以下打印方法 print someKey replace searchTerm b searchTerm b 它按预期工作 但我必须设置se
  • 如何在 SQL Server 2017 中对简单 Json 数组执行Where子句?

    假设我的数据库中有一个名为attributes以具有此值为例 pages Page1 我怎样才能做一个where子句 以便我可以过滤掉其中包含 Page1 的行 select JSON QUERY Attributes pages from
  • 第一次没有创建数据库

    如何使用EF6重新创建数据库 我已经尝试过以下两篇文章 但是 我不知道为什么它不起作用并出现相同的错误 如何在不使用更新数据库的情况下生成启用了迁移的 EF6 数据库 已为上下文启用迁移 但数据库不存在或不包含映射表 我已经在网络服务器上发
  • 使用 AR(1) 项进行 OLS 估计

    由于我无法解释的原因 因为我不能 不是因为我不想 我办公室使用的流程需要在 Eviews 上运行一些回归 Eviews 上使用的方程规范为 dependent variable c independent variable ar 1 此外
  • OpenCover MSBuild 集成 - 未生成结果

    让 OpenCover 在我的机器上工作后 下一步是让它与构建服务器一起工作 我一直在尝试将 OpenCover 与 Bamboo Build Server 上的 MSBuild 集成 我已按如下方式修改了 Build proj 以在构建解
  • Laravel 5 中的加密和解密

    我一直在寻找有关在 Laravel 中加密和解密值的想法 例如 VIN 号 员工 ID 卡号 社会保障号等 最近在 Laravel 网站上发现了这一点 https laravel com docs 5 6 加密 我的问题是 如何在刀片模板上