Skip to content
Библиотека для шифрования в OScript
1C Enterprise Gherkin Shell
Branch: develop
Clone or download
Pull request Compare This branch is 7 commits behind khorevaa:develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
features
src
tasks
tests
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
packagedef
sonar-project.properties
sonar-qube.sh
sonarlint.json
travis-ci.sh

README.md

Библиотека crypto для шифрования в OScript

Stars Release Открытый чат проекта https://gitter.im/EvilBeaver/oscript-library

Build Status Coverage Status

Возможности

Короткое название crypto

Данная библиотека предназначена для выполнения шифрования в OScript. Реализует

  • модуль:
    • Шифрование - основной модуль содержит доступные алгоритмы шифрования (реализованы HMAC)
  • классы:
    • JWT - реализация токенов JWT c шифрованием HMAC и алгоритмом сумм HS256

Требования

  • OScript >= 1.0.21

Установка

Для установки необходимо:

  • Скачать файл crypto*.ospx из раздела releases
  • Воспользоваться командой:
opm install -f <ПутьКФайлу>

или установить с хаба пакетов

opm install crypto

Пример работы

  • Создание токена JWT
	jwt = новый jwt;
	КлючШифрования = "secret";
	ДанныеКлюча = Новый Структура;
	ДанныеКлюча.Вставить("sub", "1234567890");
	ДанныеКлюча.Вставить("name", "John Doe");
	ДанныеКлюча.Вставить("admin", True);
	
	Токен = jwt.Кодировать(КлючШифрования, ДанныеКлюча);
	
	РасшифрованныеДанные = jwt.Декодировать(Токен, КлючШифрования);

	Ожидаем.Что(РасшифрованныеДанные.sub, "Расшифрованные данные sub должны совпадать").Равно(ДанныеКлюча.sub);
	Ожидаем.Что(РасшифрованныеДанные.name, "Расшифрованные данные name должны совпадать").Равно(ДанныеКлюча.name);
	Ожидаем.Что(РасшифрованныеДанные.admin, "Расшифрованные данные sub должны совпадать").Равно(ДанныеКлюча.admin);
  • Шифрование по алгоритму HMAC
    РезультатШифрования = Шифрование.HMAC(
                    GetBinaryDataFromString("Секретный ключ"),
                    GetBinaryDataFromString("Данные для шифрования"),
                    HashFunction.SHA256);

Публичный интерфейс

Документация публичного интерфейса (в разработке)

Доработка

Доработка проводится по git-flow. Жду ваших PR.

Лицензия

Смотри файл LICENSE.

You can’t perform that action at this time.