Модуль:Hash/doc
Это страница документации Модуль:Hash.
Предоставляет доступ к функции хеширования Scribunto. Используется, например, в {{sfn}}.
Использование
{{#invoke:Hash|main|строка|алгоритм хеширования}}
Серым показаны необязательные параметры.
алгоритм хеширования
по умолчанию — fnv164
(подробнее).
Список доступных алгоритмов хеширования на ноябрь 2017 года (это те же алгоритмы, что доступны в функции hash() PHP 5.4; их список возвращает функция hash_algos()):
"adler32", "crc32", "crc32b", "fnv132", "fnv164", "fnv1a32", "fnv1a64", "gost", "haval128,3", "haval128,4", "haval128,5", "haval160,3", "haval160,4", "haval160,5", "haval192,3", "haval192,4", "haval192,5", "haval224,3", "haval224,4", "haval224,5", "haval256,3", "haval256,4", "haval256,5", "joaat", "md2", "md4", "md5", "ripemd128", "ripemd160", "ripemd256", "ripemd320", "sha1", "sha224", "sha256", "sha3-224", "sha3-256", "sha3-384", "sha3-512", "sha384", "sha512", "snefru", "tiger128,3", "tiger128,4", "tiger160,3", "tiger160,4", "tiger192,3", "tiger192,4", "whirlpool"
Примеры
{{#invoke:Hash|main|Строка}}
→ 5e4befd0eef9b1c6{{#invoke:Hash|main|Другая строка}}
→ 28c485cd54fe4ae3{{#invoke:Hash|main|Строка|crc32}}
→ 6c7ee3f8{{#invoke:Hash|main|Строка|crc32b}}
→ b446d853{{#invoke:Hash|main|Строка|md5}}
→ 68a645142f2a51d88ff468bba38aecb3{{#invoke:Hash|main|Строка|unknown_algorithm}}
→ Алгоритм хеширования unknown_algorithm не поддерживается, или вы неточно указали его имя. Используйте функцию mw.hash.listAlgorithms() для получения списка доступных алгоритмов.{{#invoke:Hash|main}}
→ Не указана строка для хеширования.
Технические детали
Алгоритм fnv164
выбран в качестве алгоритма по умолчанию из соображений быстродействия (см. en:Fowler–Noll–Vo hash function), 64-битная функция используется для уменьшения вероятности коллизий до пренебрежимо малой величины. Возможно, есть лучшая опция — проверяйте.