问题标签 [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.
hash - 如何设置哈希的最大长度?
我在我的项目中使用Hashids
(http://hashids.org/python/) 。Django
我想创建固定长度的哈希。
但Hashids
仅支持min_length
:
如何设置固定长度(比如 10 个字符)hash_id
?
ios - Swift 3 中的 Hashids.org 无法正常工作
我安装了 hashids.org github 项目(从这里下载:http://hashids.org/swift/ ),因为我想在我的项目中实现它。
我需要将 15 位预订号码转换为 5 位字母数字字符串,有点像航空公司预订参考(例如 A5UW9)。
问题是, hashids github 项目不能作为
HashidsTests.swift 文件顶部的行给出错误
没有这样的模块“Hashids_Swift”
关于如何使其工作的任何帮助,或者关于如何使用 Swift 中的另一种方法实现上述转换的替代方法的任何建议?
hash - HashIds - 在数据库中存储或不存储哈希
我正在尝试找出使用Hashids的最佳实践,以及是否应该将我的哈希 id 存储在我的数据库中的列中,或者我应该按照文档中的说明使用它。即在一个区域编码Id,在另一个区域解码。
使用我当前的设置,我一直在对所有主键 ID 进行编码并在值可公开访问时对其进行解码,这是该模块的预期目的,但我担心为我的 ID 唯一生成的哈希将在将来的某个时候发生变化,这可能会导致我的应用程序的链接共享能力等问题。
基于这种情况,我真的应该将生成的哈希存储到我的数据库中的列中并查询吗?
ruby - 无法在(ruby/sinatra)上安装 hashids gem
我按照此处的说明安装了 hashids gem: https ://github.com/peterhellberg/hashids.rb
但是,当我尝试使用 Hashids 类时,它会向我显示一个错误,就好像它不知道这个类一样:
NameError at / uninitialized constant Hashids
这是失败的代码:
我什至不确定如何调试它,因为我是 ruby 新手。我知道该类是在 Hashids 库中定义的。我认为我不应该使用“必需”,因为我将它安装为 gem。当我运行“gem list”时,我在那里看到了那个 gem:
哈希 (1.0.3)
server-side - 在服务器端运行 hashids
我正在尝试在 javascript 和 ASP 中使用 hashid,但我需要它在服务器端运行,因为在加载页面之前需要对 DB 进行一些检查。他们网站上的示例/文档没有涵盖这一点。任何人都可以举一个关于库的例子被添加到我的 asp 以及如何调用 encode() 和 decode()。不断收到错误 500,我不得不说我从未尝试过在服务器端运行这样的外部库。
顺便说一句,帮助其他人的提示,如果你想拥有类似于 tinyurl 的东西(比如http://[domain]/[optional_subdirectory]/[hashid])并且在 IIS 上只有一个文件来进行解码,我设置一个自定义 404 页面,它捕获服务器中的所有 url,变量 QUERY_STRING 保存该哈希以进行解码和进一步处理;)
php - 使用带有字符串的哈希值
我正在寻找一种从原始字符串生成简短、唯一、不可变和可逆 ID 的方法。我为此找到了完美的库Hashids,但它只需要输入整数,而且我也有字母。
我不想使用常见的加密算法,因为输出很长。
我可以做到这一点,base64_encode
但我想用密码进行散列,以防止不受欢迎的人直接解码。
有人知道解决方案吗?
java - Hashids:swift 和 C 版本之间的兼容性
我正在使用 Hashids swift 版本对数组进行编码,我正在使用 C 版本使用相同的 SALT 对其进行解码。复位后只有一次解码成功,之后每次解码失败。C 版本是 1.1.3,Swift 版本是 1.1.0。虽然如果在 Android 上使用 Java 版本的 Hashids 完成编码,我不会遇到这个问题。Java 版本为 1.0.1。
C代码是:
斯威夫特代码是:
对于所有版本,我都在各自的 Hashids GitHub 存储库中使用最新的更新版本。
编辑:这是 github存储库https://github.com/tzvetkoff/hashids.c,此链接在 hashids 网站上提供:http: //hashids.org/c/
对 hashids_init3 或任何其他函数的调用不会修改其值。事实上,盐在两种语言中都是一个字符串。所以在 C 中它的 const char[] 类型和在 Swift 中它的 String 类型。salt 的值在两种语言中都保留为硬编码值,对于运行 C 代码的设备(即基于 arm 的处理器)不会改变。
python - Django Factory boy 和 django hashid 字段主键:“UNIQUE 约束失败”
我在模型主键中使用 django hashid 字段,我想使用 django factory boy 来创建工厂。
class Camera(models.Model):
id = HashidAutoField(primary_key=True)
但是,当我第二次创建工厂时,我得到了这个错误。
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: UNIQUE constraint failed: camera_camera.id
工厂男孩如何处理自定义字段?
javascript - 将 hashid 限制为 2 个字符的哈希
我正在使用 hashids 库使用 2 个输入生成唯一哈希。我知道有一种方法可以添加填充以扩展散列的长度。有没有办法截断或设置 hashid 构造函数的最大长度?