【发布时间】:2021-04-25 16:40:12
【问题描述】:
我有一个很长的字符串,我需要一个唯一的 ID 来缓存它。 id 不需要反转,但是相等的字符串需要返回相等的 id。
例如:
- 这是一个非常长的字符串 -> SFG2527G
- 这是别的东西 -> JSNTFK2783
- 这是一个非常长的字符串 -> SFG2527G
我不需要反转哈希。
用 Javascript 实现这一目标的最佳方法是什么?
【问题讨论】:
-
我不明白这个问题。您所描述的基本上是哈希的作用,所以既然您已经用
cryptojs标记了您的问题,只需选择一个哈希算法(例如 SHA-1)并使用它。请记住:哈希值越短,冲突的风险就越高。 -
是的,这似乎可行:
const long_string = 'hey there'const hash = require('crypto').createHash('sha256').update(long_string, 'utf8').digest('hex'); -
我认为哈希总是比字符串长。然而事实并非如此。我尝试了一个很长的字符串,它仍然相当短。
-
太棒了。随时将其发布在答案中,我会接受。谢谢。
标签: javascript node.js encryption hash cryptojs