<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://self-defense.website/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AHash</id>
	<title>Модуль:Hash - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://self-defense.website/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AHash"/>
	<link rel="alternate" type="text/html" href="https://self-defense.website/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hash&amp;action=history"/>
	<updated>2026-04-20T10:42:16Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://self-defense.website/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hash&amp;diff=737&amp;oldid=prev</id>
		<title>Admin: Новая страница: «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 '&lt;span class=&quot;error&quot;&gt;Не указана строка для...»</title>
		<link rel="alternate" type="text/html" href="https://self-defense.website/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hash&amp;diff=737&amp;oldid=prev"/>
		<updated>2022-01-23T23:57:38Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).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(), &amp;#039;; &amp;#039;) end  function p.main(frame) 	local args = getArgs(frame, { frameOnly = true }) 	local algorithm 	 	if not args[1] then 		return &amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Не указана строка для...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function inTable(table, value)&lt;br /&gt;
	for k, v in pairs(table) do&lt;br /&gt;
		if v == value then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.list(frame)&lt;br /&gt;
	return table.concat(mw.hash.listAlgorithms(), '; ')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame, { frameOnly = true })&lt;br /&gt;
	local algorithm&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		return '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Не указана строка для хеширования.&amp;lt;/span&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] then&lt;br /&gt;
		if not inTable(mw.hash.listAlgorithms(), args[2]) then&lt;br /&gt;
			return '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Алгоритм хеширования ' .. args[2] .. ' не поддерживается, или вы неточно указали его имя. Используйте функцию &amp;lt;kbd&amp;gt;mw.hash.listAlgorithms()&amp;lt;/kbd&amp;gt; для получения списка доступных алгоритмов.&amp;lt;/span&amp;gt;'&lt;br /&gt;
		end&lt;br /&gt;
		algorithm = args[2]&lt;br /&gt;
	else&lt;br /&gt;
		-- Алгоритм выбран из соображений быстродействия (см. [[:en:Fowler–Noll–Vo hash function]]),&lt;br /&gt;
		-- 64-битная функция используется для уменьшения вероятности коллизий до пренебрежимо малой&lt;br /&gt;
		-- величины. Возможно, есть лучшая опция — проверяйте.&lt;br /&gt;
		algorithm = 'fnv164'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return mw.hash.hashValue(algorithm, args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>