【问题标题】:Hash small strings into numbers only仅将小字符串散列成数字
【发布时间】:2017-03-29 05:11:52
【问题描述】:

我的主键“是”一个字符串 - 因此我想对它进行哈希处理,以便可以使用哈希后的数字而不是字符串..

我总共有 800 个固定字符串(这意味着哈希的安全风险非常少且非常低),因此我不太可能遇到与简单哈希函数/方法发生冲突的情况。我考虑过 md5 但由于它将成为我的 sqlite 表中的主键,我想避免其中的任何字符串。你有什么想法吗?

干杯

【问题讨论】:

  • 为什么需要散列字符串?只需为该字段创建一列并为其添加索引。 md5 只会返回另一个字符串。
  • 你说得对

标签: node.js string hash primary-key


【解决方案1】:

通常你会使用类似自动增量字段的东西,但如果你想要一个哈希,你可以试试这个:

const crc32 = require("crc32")
const key = "lskdjfasoif";
const idNum = parseInt(crc32(key),16);

【讨论】:

  • 我不想给更多的回答者添麻烦,因为实际上我只是将我的 row_id 设为主键并简单地搜索我的字符串,我想我既是个白痴又是个坏人。由于这个答案是正确的,我会接受它,谢谢
猜你喜欢
  • 2020-07-14
  • 2013-11-16
  • 2012-06-22
  • 2013-04-07
  • 2014-05-01
  • 2019-07-12
  • 2016-10-05
  • 2011-09-30
  • 2021-08-24
相关资源
最近更新 更多