后端缓存键是否真的需要哈希?

3
我正在从数据库中检索数据,并将其保存在缓存中,使用一个key = user.id.1 我看到有人使用md5(key)salt . md5(key),并建议不要使用更强的加密方法以避免增加开销。
如果有人想要访问您的缓存数据,则需要访问服务器,而现在md5很容易被破解,盐在这种情况下似乎是无意义的,而哈希键仍然不能解决相同键的键冲突问题。
为什么要对键使用哈希?
谢谢

我会给你点火加油 - 为什么在这种情况下要使用缓存?背后的原因是什么?很可能使用缓存会减慢一切而不是帮助加速。 - Mjh
这只是一个关键字的示例,而不是我的问题的重点。 - user2035693
所以问一下你看的那个软件的开发者,问他们为什么选择了哈希表做缓存键。这比开始争论意见要容易得多。 - Mjh
你是在试图恶意攻击还是没有理解StackOverflow的用意?我已经做了一些研究,但无法找到这个问题的答案,所以我在这里提问。如果你有相关知识,欢迎分享。 - user2035693
你没有提出一个编程问题。你没有理解SO的重点。去问一下你使用系统的人吧。哈希键的一个用途是拥有相等长度的键并避免潜在的键命名问题(避免特殊字符等)。即使是使用md5,碰撞的可能性也不是很大。它也是一个快速算法,缓存不被视为关键数据,因此可以使用像md5这样的算法,它快速、简单且适用于该目的。 - Mjh
1个回答

0
在我看来,对于短键而言没有必要这样做。如果你要缓存一个长的查询语句,哈希会很好用。这样可以保留32个字符而不是200个字符。如果你使用哈希来处理短键,你将得到32个字符而不是7或10个字符。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接