Перейти к содержимому

Хеш-функции

Криптографические хеш-функции и аутентификация сообщений HMAC.

local hash = require("hash")
local hex = hash.md5("data")
local raw = hash.md5("data", true)
ПараметрТипОписание
datastringДанные для хеширования
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.sha1("data")
local raw = hash.sha1("data", true)
ПараметрТипОписание
datastringДанные для хеширования
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.sha256("data")
local raw = hash.sha256("data", true)
ПараметрТипОписание
datastringДанные для хеширования
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.sha512("data")
local raw = hash.sha512("data", true)
ПараметрТипОписание
datastringДанные для хеширования
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.hmac_md5("message", "secret")
local raw = hash.hmac_md5("message", "secret", true)
ПараметрТипОписание
datastringСообщение для аутентификации
secretstringСекретный ключ
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.hmac_sha1("message", "secret")
local raw = hash.hmac_sha1("message", "secret", true)
ПараметрТипОписание
datastringСообщение для аутентификации
secretstringСекретный ключ
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.hmac_sha256("message", "secret")
local raw = hash.hmac_sha256("message", "secret", true)
ПараметрТипОписание
datastringСообщение для аутентификации
secretstringСекретный ключ
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

local hex = hash.hmac_sha512("message", "secret")
local raw = hash.hmac_sha512("message", "secret", true)
ПараметрТипОписание
datastringСообщение для аутентификации
secretstringСекретный ключ
rawboolean?Вернуть сырые байты вместо hex

Возвращает: string, error

Быстрый хеш для хеш-таблиц и партиционирования:

local n = hash.fnv32("data")
ПараметрТипОписание
datastringДанные для хеширования

Возвращает: number, error

Быстрый хеш с большим выходом для меньшего числа коллизий:

local n = hash.fnv64("data")
ПараметрТипОписание
datastringДанные для хеширования

Возвращает: number, error

СитуацияТипПовтор
Вход не является строкойerrors.INVALIDнет
Секрет не является строкой (HMAC)errors.INVALIDнет

Подробнее см. Обработка ошибок.