2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:HashArgs

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [创建] [刷新]
-- Originally designed and coded by Maya (U:Maya-Maja-Maia)

local getArgs = require('Module:Arguments').getArgs

local hashObj = function (obj)
    local algo = obj.algo
    local actualAlgo = "sha256" -- safer than md5, but really who cares
    if algo then
        local algoList = mw.hash.listAlgorithms()
        for i, v in ipairs(algoList) do
            if algo == v then 
                actualAlgo = algo
                break
            end
        end
    end
    return mw.hash.hashValue(actualAlgo, mw.dumpObject(obj))
end

local hashArgs = {
    main = function (frame)
        return hashObj(getArgs(frame))
    end,
    hashObj = hashObj
}

return hashArgs