如何使用Neo4j为字符串生成唯一的哈希码?

时间:2019-03-05 11:48:11

标签: neo4j hashcode

我只想使用Cypher为字符串生成哈希码。我该怎么办?

1 个答案:

答案 0 :(得分:1)

是的,绝对可以使用APOC hash functions之一,但是您可以创建自己的哈希函数。

例如,这是Cypher中一个骇人的djb2字符串哈希实现。

WITH " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" as chars
RETURN reduce(acc=5381, c  in split("Gimme a String Hash Please!","") | (acc*33 + size(split(chars,c)[0]))%toInteger(2^32))
  为该字符串返回

337735339