Модуль:Hash/doc
Перейти к навигации
Перейти к поиску
Это страница документации Модуль:Hash.
Предоставляет доступ к функции хеширования Scribunto. Используется, например, в {{sfn}}.
Использование
{{#invoke:Hash|main|строка|алгоритм хеширования}}
Серым показаны необязательные параметры.
алгоритм хеширования
по умолчанию — fnv164
(подробнее).
Список доступных алгоритмов хеширования на ноябрь 2017 года (это те же алгоритмы, что доступны в функции hash() PHP 5.4; их список возвращает функция hash_algos()):
md2; md4; md5; sha1; sha224; sha256; sha384; sha512/224; sha512/256; sha512; sha3-224; sha3-256; sha3-384; sha3-512; ripemd128; ripemd160; ripemd256; ripemd320; whirlpool; tiger128,3; tiger160,3; tiger192,3; tiger128,4; tiger160,4; tiger192,4; snefru; snefru256; gost; gost-crypto; adler32; crc32; crc32b; crc32c; fnv132; fnv1a32; fnv164; fnv1a64; joaat; murmur3a; murmur3c; murmur3f; xxh32; xxh64; xxh3; xxh128; haval128,3; haval160,3; haval192,3; haval224,3; haval256,3; haval128,4; haval160,4; haval192,4; haval224,4; haval256,4; haval128,5; haval160,5; haval192,5; haval224,5; haval256,5
Примеры
{{#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-битная функция используется для уменьшения вероятности коллизий до пренебрежимо малой величины. Возможно, есть лучшая опция — проверяйте.