Дакументацыю да гэтага модуля можна стварыць у Модуль:Hash/Дакументацыя
local getArgs = require('Module:Arguments').getArgs local p = {} local function inTable(table, value) for k, v in pairs(table) do if v == value then return true end end return false end function p.list(frame) return table.concat(mw.hash.listAlgorithms(), '; ') end function p.main(frame) local args = getArgs(frame, { frameOnly = true }) local algorithm if not args[1] then return '<span class="error">Не пазначаны радок для хэшыравання.</span>' end if args[2] then if not inTable(mw.hash.listAlgorithms(), args[2]) then return '<span class="error">Алгарытм хэшыравання ' .. args[2] .. ' не падтрымліваецца, або недакладна пазначана яго імя. Выкарыстоўвайце функцыю <kbd>mw.hash.listAlgorithms()</kbd> для атрымання спісу даступных алгарытмаў.</span>' end algorithm = args[2] else -- Алгорытм абраны з меркаванняў хуткай працы (гл. [[:en:Fowler–Noll–Vo hash function]]), -- 64-бітная функцыя выкарыстоўваецца для памяньшэння імавернасці калізій да нязначна малой -- велічыні. Магчыма, ёсць лепшая опцыя — правярайце. algorithm = 'fnv164' end return mw.hash.hashValue(algorithm, args[1]) end return p