Алгоритм хеширования строки в динамическое количество символов - PullRequest
1 голос
/ 12 марта 2019

Я ищу способ хеширования строки в динамическое количество символов. Я не хочу обрезать существующий хеш (такой как SHA), но генерирую хеш, для которого вы можете указать количество выходных символов. Это также должно работать, если ввод меньше количества символов. Он не должен быть криптографическим, он только должен гарантировать одинаковый хэш для одного и того же ввода. Я просматривал хеш-функции в вики, но все они, похоже, имеют фиксированную длину динамической длины в зависимости от ввода.

1 Ответ

0 голосов
/ 14 марта 2019

То, что вы ищете, может быть Расширяемые функции вывода (XOF) !

Эти хеш-функции не имеют предопределенной длины вывода и могут использовать функции губки для построения.

Семейство SHA-3 состоит из четырех криптографических хеш-функций, [...] и двух расширяемых функций вывода (XOF), называемых SHAKE128 и SHAKE256 .

Вы можете попробовать оба варианта в https://emn178.github.io/online-tools/. Для битов вывода выберите желаемое число или символы.

Для реализации Java см. Библиотеку шифрования Bouncy Castle , которая поддерживает оба алгоритма https://www.bouncycastle.org/specifications.html

Но помните о коллизиях если длина хеша мала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...