Хеш-функции
Хеш-функции
Заголовок раздела «Хеш-функции»Криптографические хеш-функции и аутентификация сообщений HMAC.
Подключение
Заголовок раздела «Подключение»local hash = require("hash")Криптографические хеши
Заголовок раздела «Криптографические хеши»local hex = hash.md5("data")local raw = hash.md5("data", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
local hex = hash.sha1("data")local raw = hash.sha1("data", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
SHA-256
Заголовок раздела «SHA-256»local hex = hash.sha256("data")local raw = hash.sha256("data", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
SHA-512
Заголовок раздела «SHA-512»local hex = hash.sha512("data")local raw = hash.sha512("data", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
Аутентификация HMAC
Заголовок раздела «Аутентификация HMAC»HMAC-MD5
Заголовок раздела «HMAC-MD5»local hex = hash.hmac_md5("message", "secret")local raw = hash.hmac_md5("message", "secret", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Сообщение для аутентификации |
secret | string | Секретный ключ |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
HMAC-SHA1
Заголовок раздела «HMAC-SHA1»local hex = hash.hmac_sha1("message", "secret")local raw = hash.hmac_sha1("message", "secret", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Сообщение для аутентификации |
secret | string | Секретный ключ |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
HMAC-SHA256
Заголовок раздела «HMAC-SHA256»local hex = hash.hmac_sha256("message", "secret")local raw = hash.hmac_sha256("message", "secret", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Сообщение для аутентификации |
secret | string | Секретный ключ |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
HMAC-SHA512
Заголовок раздела «HMAC-SHA512»local hex = hash.hmac_sha512("message", "secret")local raw = hash.hmac_sha512("message", "secret", true)| Параметр | Тип | Описание |
|---|---|---|
data | string | Сообщение для аутентификации |
secret | string | Секретный ключ |
raw | boolean? | Вернуть сырые байты вместо hex |
Возвращает: string, error
Некриптографические хеши
Заголовок раздела «Некриптографические хеши»Быстрый хеш для хеш-таблиц и партиционирования:
local n = hash.fnv32("data")| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
Возвращает: number, error
Быстрый хеш с большим выходом для меньшего числа коллизий:
local n = hash.fnv64("data")| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для хеширования |
Возвращает: number, error
| Ситуация | Тип | Повтор |
|---|---|---|
| Вход не является строкой | errors.INVALID | нет |
| Секрет не является строкой (HMAC) | errors.INVALID | нет |
Подробнее см. Обработка ошибок.