Как создать уникальный хэш-код для строки с Neo4j? - PullRequest
1 голос
/ 05 марта 2019

Я хотел бы сгенерировать хеш-код для строки, используя только Cypher.Как я могу это сделать?

1 Ответ

1 голос
/ 06 марта 2019

Да, определенно используйте одну из хеш-функций APOC , но вы можете создать свою собственную хеш-функцию.

Например, вот хакерская 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 возвращается для этой строки.

...