crypto
Пакет для работы с криптографическими примитивами и алгоритмами
md5(string)
Получение md5 хеша от строки
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | данные |
Результат
# | Тип | Описание |
---|---|---|
1 | string | результат хеш функции |
Пример
local crypto = require("crypto")
print(crypto.md5("abcd"))
-- вывод:
-- e2fc714c4727ee9395f324cd2e7f331f
sha1(string)
Получение sha1 хеша от строки
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | данные |
Результат
# | Тип | Описание |
---|---|---|
1 | string | результат хеш функции |
Пример
local crypto = require("crypto")
print(crypto.sha1("abcd"))
-- вывод:
-- 81fe8bfe87576c3ecb22426f8e57847382917acf
sha256(string)
Получение sha256 хеша от строки
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | данные |
Результат
# | Тип | Описание |
---|---|---|
1 | string | результат хеш функции |
Пример
local crypto = require("crypto")
print(crypto.sha256("abcd"))
-- вывод:
-- 88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589
sha512(string)
Получение sha512 хеша от строки
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | данные |
Результат
# | Тип | Описание |
---|---|---|
1 | string | результат хеш функции |
Пример
local crypto = require("crypto")
print(crypto.sha512("abcd"))
-- вывод:
-- d8022f2060ad6efd297ab73dcc5355c9b214054b0d1776a136a669d26a7d3b14f73aa0d0ebff19ee333368f0164b6419a96da49e3e481753e7e96b716bdccb6f
xor(data, key)
Выполняет операцию xor (исключающее «или») с помощью ключа key над данными data. Тип возвращаемого значения зависит от тип входных данных. Если на вход пришло число, то вернется число, если строка - вернется строка, если таблица - таблица.
Параметры
# | Тип | Описание |
---|---|---|
1 | число, строка, таблица с числами | данные |
2 | число, строка, таблица с числами | ключ |
Результат
# | Тип | Описание |
---|---|---|
1 | ошибка или nil |
Пример
local crypto = require"crypto"
print(crypto.xor(55,22))
-- вывод: 33
local encoding = require"encoding" -- подключим пакет encoding для вывода байт в hex представлении
print(enc.hex_encode(crypto.xor("test", "keke")))
-- вывод: 191b19
local inspect = require"inspect" -- подключим пакет inspect для отображения элементов таблицы
print(inspect(crypto.xor({13,37}, 1337)))
-- вывод: { 1332, 1308 }