gpt4 book ai didi

java - 将多个整数值混淆为固定长度值并将其读回

转载 作者:行者123 更新时间:2023-12-01 20:12:05 26 4
gpt4 key购买 nike

我正在尝试将多个整数转换为固定长度的哈希值......到目前为止一切顺利,但是,我需要稍后能够读取和解码哈希并取回我的整数。

为了提供更多上下文,我正在为查询多个表的 API 调用生成基于游标的分页。所以我需要能够将多个表 ID 混淆成一个像散列这样的字符串,然后将其发送到前端。另外,我需要能够接收任何游标哈希,将其解码为多个表 ID,并从该 ID 开始查询表。

正确的做法是什么?

最佳答案

如果您认为这是一项安全功能,例如为了防止用户通过递增标识符来枚举表中的行,您可能应该随机生成这些面向用户的哈希值并将它们与每个表行一起存储。在这种方法中,行将具有较短的数字主键(由于尺寸较小,通常更适合索引)和面向外部用户的标识符(如果使用 UUID,则几乎无法猜测)。

或者您可以尝试:

  1. 为每个用户单独生成哈希值,同时将它们存储在 session 中。您可以使用随机哈希,只要哈希和行标识符之间具有一对一的映射,它们仅对打开 session 的用户有效。

  2. 使用强对称加密技术(例如 AES)对加盐值进行编码和解码salt + id。这将使猜测用于创建哈希的内容变得更加困难。

您当前使用可逆函数的方法听起来像 security through obscurity或者我变得偏执:)

关于java - 将多个整数值混淆为固定长度值并将其读回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58964919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com