问题标签 [hashids]
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.
laravel - Laravel - 在用户 id 上添加 mutator 后登录失败
我有经典的用户 ID 表,其中主键是 BigIncrement。
我需要对用户隐藏 id 值。所以我的想法是使用 hashIds 包。我为屏蔽 id 所做的是在 id 列上创建 mutator:
屏蔽效果很好,但是当我尝试登录时会出现问题。似乎未创建登录会话。
我的问题是:
- 为什么创建 id mutator 后登录失败?我假设要创建会话它涉及 id 值
- 除了使用 mutator 之外,还有什么更好的方法来屏蔽 id?
javascript - 生成的哈希大小
今天我生成哈希如下:
所以控制台上打印的是:
但是,如果我将变量“数字”更改为数字 1419857,结果是:
我的疑问是:我正在经历的字母表有 26 个字符,我定义 hashid 的最小大小为 6 个字符,我可以使用 6 个字符的最大 hashid 不会是 308.915.776 (26 * 26 * 26 * 26 * 26 * 26 )?为什么在数字 1.419.857 中他已经在我的 hashid 中增加了一个字符?
javascript - hashid 加密在 PHP 中不返回任何值
试图加密文本:- "Michael Fehr" 或 "carpet" 使用hashids,它返回空白。
代码:-
也尝试过:- $hashed_interestrate = $hashids->encode_hex("63706b64");
,但不工作。如果我尝试文字:-“CPC”,它正在工作。
php - Laravel 有没有办法在访问路由之前对 URL 中的数据 ID 进行去哈希处理?
我正在使用包hashids\hashids
对通过 URL 发送的数据的 ID 进行哈希处理(例如 .../post/bsdfs/edit,'bsdfs' 是编码值)。我按照Stuart Wagner的访问器方法这样做。以下是我的做法:
在对我得到的 ID 进行哈希处理之前post/2/edit
。在哈希过程之后,我得到了post/bsdfs/edit
,这对我来说很好。
重定向到编码路由时会出现问题。这就是我的路线的样子:
重定向后,我收到 404 错误。这是控制器接受的:
我知道如果我使用这种方法,Laravel 正在搜索数据库中不存在的“bsdfs”ID。它应该做的是解码散列并获取 ID。有没有办法在不这样做的情况下做到这一点:
如您所见,我的目标是减少行数,同时仍保持要编码的 URL 中的数据 ID。任何帮助,将不胜感激。谢谢你。
ruby-on-rails - 通过 hashid 查询 ActiveRecord
我们使用https://github.com/peterhellberg/hashids.rb在我们的 API 中混淆数据库 ID:
在解码 hashids 时,我们必须这样做:
这种模式在我们的应用程序中重复了很多次。我可以编写一些辅助函数,例如find_by_hashid
或where_hashid
负责解码和可能的错误处理。但是当将它们与其他查询方法结合使用时,这很快就会变得脆弱。
所以我想知道,是否可以扩展 ActiveRecord 查询接口以支持特殊的虚拟列hashid
,这样这样的东西是可能的:
这个想法非常简单,只需寻找hashid
密钥,将其转换为id
并解码给定的 hashid 字符串。出错时,返回nil
。
但我不确定 ActiveRecord 是否提供了一种方法来做到这一点,而无需大量的猴子补丁。
python - 带有自定义模型字段(hashid 字段)的 Django elasticsearch DSL
我有一个使用django hashid字段的模型id
。
这是另一个模型的相关项目
现在我正在尝试设置 [django elasticsearch dsl] ( https://github.com/django-es/django-elasticsearch-dsl ) 并为此设置Document
但是,当我尝试使用rebuild
索引时,python manage.py search_index --rebuild
出现以下异常
Django elasticsearch dsl 显然不知道如何处理这样的 hashid 字段。
我想也许我可以让我自己HashIdField
喜欢
然后使用它'id': HashIdField
,但这给了我另一个例外
有谁知道我怎样才能让它工作?