Module:Hash

From Soyjak Wiki, the free ensoyclopedia
Jump to navigationJump to search

Module documentation

This gives access to several hash functions through mw.hash.

{{#invoke:Hash|main|algo= |value= }}

Examples

[edit source]

{{#invoke:Hash|main|algo=adler32|value=Wikipedia}}

gives the follows:

11e60398

{{#invoke:Hash|main|sha224|The quick brown fox jumps over the lazy dog}}

gives the follows:

730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525

Algorithms

[edit source]

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


require("strict")

local p = {}

function p.main(frame)
	local algo = frame.args['algo'] or frame.args[1]
	local value = frame.args['value'] or frame.args[2]
	return mw.hash.hashValue( algo, value )
end

function p.list()
	local list = {}
	for i, v in ipairs(mw.hash.listAlgorithms()) do
		list[i] = "<code>" .. v .. "</code>"
	end
	
	return table.concat(list, ",\n")
end

return p