问题标签 [laravel-encryption]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
85 浏览

laravel - 使用 Laravel 的内置加密工具解密随机错误

我使用加密电子邮件通过邮件向用户发送邀请,以了解哪个用户响应了邀请。就像是:

Hello, click on this link to start learning: https://example.org/start-learning?e=fwTreaN0WybffXdDfZZUNYB3FTFfZObCb7QFF5C4AFJvTjXabIPtRfcoXLkFYMUvD4FIZsmrDdEFN2OPKcTrAOSQLZfuKdfwcic1WtBxWSXWR1GEJD6we213A3BEPBpca0BxaaQ4GGMPFeRyXp6fPrG9WnTgWogwXUcnVtdwSEEdNHGuZsClTxR2AtD2JZN8VAEsRQKpFFShEDR2SET4KxGhLGM3M0FdDelrJtO8KXS2YRaddH==

加密的电子邮件是上面的长字符串。我在Mailable课堂上像这样对邮件进行编码:

然后将$url其添加到这样的邮件模板中:

然后,当用户单击链接时,它会路由到控制器,控制器会解密有效负载:

然后,它适用于大约 99% 的点击链接的人。但是对于大约百分之一,它不起作用,我在解密时出错。我不知道为什么。这是加密和解密的同一个 Laravel 应用程序。这种奇怪的行为有原因吗?

旁注:我知道解密总是有效并且没有随机行为(顺便说一句,我在 10000 个条目上对其进行了测试,没关系)。我不明白的邮件过程肯定有其他问题。

0 投票
2 回答
315 浏览

php - 无法覆盖 laravel elequent 输出的 id 字段

我无法覆盖以下代码中的 $user->id :

防止这种类型转换(整数到字符串)是laravel eloquent中的规则还是某些东西?

如何用加密字符串替换 id 的整数值?

有什么帮助吗?

0 投票
1 回答
526 浏览

php - 未来我们可以依靠 laravel 加密吗?

我们正在构建应用程序,我们需要在数据库中存储加密的数据,而不是使用 MySql AES_ENCRYPT 和 AES_DECRYPT 我们正在使用 laravel 的内置加密和解密功能。

这是否会成为未来的证明,因为我们不想为未来的更新而丢失数据。

0 投票
1 回答
449 浏览

ajax - Laravel 加密密钥在页面加载时“消失”

我在使用 Laravel 和 Ajax 时遇到了一些问题,我无法通过 Google 或 Stackoverflow 解决这些问题。无论我看到什么解决方案,我都已经考虑过了。

偶尔我会收到 500 错误(有时是 401)。它只发生在 Ajax 上,这表明我没有正确发送 CSRF 令牌。

但是 CSRF 是在每个页面加载上,并且问题开始于 4 天前,而该项目大约有一个月的历史。它发生在 10 个 Ajax 调用中可能有 1 个。其他 9 个将执行得很好。

Ajax 调用在页面加载后立即进行。Laravel 是否有可能没有更新对传入 Ajax 调用的期望?没有其他 Ajax 调用会导致此问题。

laravel.log 说:

[堆栈跟踪]

这对我来说非常奇怪,有两个原因。首先,存在加密。如前所述,该项目已经存在很长时间,问题是零星的。其次,它说“production.ERROR”,但环境是本地的。我在 .env 文件中有这个:

有人对如何解决或如何进一步调试问题有任何想法吗?我在这里有点空白。

更新:这个问题肯定与页面加载时立即调用的 AJAX 调用有关。我刚刚在不同的项目中出现了完全相同的问题,项目中的所有其他 AJAX 调用都按预期工作;但是在页面加载时立即调用的那个会偶尔出现 401 和 500 失败。

0 投票
3 回答
1929 浏览

php - 如何计算 Laravel 加密方式输出的最大长度?

设置

鉴于以下情况:

是否有可能知道,对于长度为 1 的字符串,可能的长度范围为 1 $s

语境

数据库存储 - 需要存储加密值,并希望设置输入字符串的验证,以便最长长度的输入字符串在加密时被插入到数据库中而不被截断。

基本测试

使用以下代码片段在本地运行一些非常粗略的测试:

我可以看到以下内容,但它在运行之间会有所不同,例如,“a”字符串的长度为 188 或 192(更长的值似乎在 244 和 248 之间)。

所以必须有一个公式。我已经看到output_size = input_size + (16 - (input_size % 16))但没有考虑到差异。

输出

编辑

好的,所以和下面@Luke Joshua Park 聊了聊,长度的变化来自于laravel 加密函数和方式$iv创建,是随机字节,可以包含/.

$value加密方法里面还可以包含一个/.

当包含 a 的值/是 JSON 编码时,将/转义为\\\/每次出现额外添加 3 个字符。

真正的问题 - 可以$iv包含$value多个“/”吗?

0 投票
1 回答
133 浏览

php - 有没有办法改变 Laravel 加密算法,所以它针对相同的字符串生成相同的值?

我正在使用 Laravel 的内置加密方法保存加密的用户数据(包括用于登录的用户电子邮件)。

登录时,我必须提供加密电子邮件进行身份验证,但加密算法每次都会针对同一个字符串生成不同的字符串。

我正在使用以下特征来保存加密数据。

请问我该如何克服呢?

用户模型中的用法

0 投票
2 回答
2465 浏览

laravel - Laravel json 响应返回加密数据

我正在使用 Encryptable 特征来加密 Room 模型的数据。

RoomController (/rooms)返回解密后的数据,但 ApiRoomController (/api/rooms)不返回。我怎样才能让它返回解密的数据?

可加密特征

RoomController 索引函数

ApiRoomController 索引函数

0 投票
2 回答
830 浏览

laravel - Laravel:加密上传的文件/图像

我是 laravel 的新手,尝试加密上传的文件。这是我的控制器:

我正在尝试按照https://stefanzweifel.io/posts/how-to-encrypt-file-uploads-with-laravel/加密文件

但是当我提交表单时出现错误:

“ymfony \ Component \ Debug \ Exception \ FatalThrowableError(E_ERROR)调用字符串上的成员函数getClientOriginalExtension()”

我尝试使用explode转换为数组,但它对数组显示相同的错误:

“调用数组上的成员函数 getClientOriginalExtension()”

0 投票
1 回答
124 浏览

mysql - 备份使用 Laravel 加密的数据库的最佳方法是什么?

我正在使用该包betterapp\LaravelDbEncrypter来加密数据库中的一些数据。

如果出现问题并且我失去了对服务器的访问权限,即使我在其他地方备份了数据库,我也将无法再访问该数据。

保存数据库备份的最佳方法是什么,即使 Laravel 的应用程序密钥不再相同,它也可以恢复?

我正在考虑解密所有值并将备份保存在带有密码的 7z 中。你怎么看?

0 投票
0 回答
162 浏览

laravel-encryption - 我可以在 Laravel 中搜索加密数据吗

在 Laravel 中,我在我的表中加密了记录,我想搜索这些记录。

当我再次搜索并加密我的搜索词时会出现问题,它会再次对其进行加密,生成随机字符串。