neo4j - 如何使用 Neo4j 为字符串生成唯一的哈希码?
问题描述
我想仅使用 Cypher 为字符串生成哈希码。我怎样才能做到这一点?
解决方案
是的,绝对使用其中一种APOC 哈希函数,但您可以创建自己的哈希函数。
例如,这是一个 hacky djb2字符串哈希实现Cypher
。
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
为这个字符串返回。
推荐阅读
- javascript - this.setState inside function inside function 返回 undefined
- operating-system - 这个页面目录有效吗?
- nginx - nginx https ip地址到域重定向
- excel - Excel VBA 运行时错误“1004”方法 'GetOpenFilename' of object_Application' 失败
- scrollbar - 即使在未单击程序本身的情况下按住鼠标,如何使程序正常运行
- html - 如何对齐名称和消息
- android-studio - 带有 Kotlin 的 Android Studio 如何控制从 MainActivity 传递到另一个类
- r - ggplot 从图例中删除 geom_label 边框
- javascript - React Native:Stack Navigator mode='card' 或 mode='modal' 不起作用(世博项目)
- python - 如何创建实例特定的功能计数器?