crypto

Пакет для работы с криптографическими примитивами и алгоритмами


md5(string)

Получение md5 хеша от строки

Параметры

#ТипОписание
1строкаданные

Результат

#ТипОписание
1stringрезультат хеш функции

Пример

local crypto = require("crypto")
print(crypto.md5("abcd"))

-- вывод: 
-- e2fc714c4727ee9395f324cd2e7f331f

sha1(string)

Получение sha1 хеша от строки

Параметры

#ТипОписание
1строкаданные

Результат

#ТипОписание
1stringрезультат хеш функции

Пример

local crypto = require("crypto")
print(crypto.sha1("abcd"))

-- вывод: 
-- 81fe8bfe87576c3ecb22426f8e57847382917acf

sha256(string)

Получение sha256 хеша от строки

Параметры

#ТипОписание
1строкаданные

Результат

#ТипОписание
1stringрезультат хеш функции

Пример

local crypto = require("crypto")
print(crypto.sha256("abcd"))

-- вывод: 
-- 88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589

sha512(string)

Получение sha512 хеша от строки

Параметры

#ТипОписание
1строкаданные

Результат

#ТипОписание
1stringрезультат хеш функции

Пример

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 }