HMAC на встроенном языке 1С

0. Владимир Куприненко (Knup) 6 25.02.17 06:25 Сейчас в теме
Внешняя обработка хеширования данных HMAC (SHA-1, MD5, SHA-256, CRC-32) без использования внешних компонент.

Перейти к публикации

Комментарии
1. Александр Лукин (i_lo) 169 02.03.17 03:09 Сейчас в теме
Скопировал код из статьи в обработку. Ввожу ключ - 123, текст - sss, функцию - sha-1 и получаю hmac - da2a7fa2ac3e18892b6d0d24221285fa1030b03d. Разве он не должен быть, как на скриншоте 83е...?
Ввожу ключ - 123456, тест - Вышел зайчик погулять, функцию - sha-1 и получаю:

{ВнешняяОбработка.HMAC.МодульОбъекта(74)}: Ошибка при вызове метода контекста (Создать)
ДвоичныеДанные = ФабрикаXDTO.Создать(ТипhexBinary,nString);
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: '24026036363636363636363636363636363636363636363636363636363­636363636363636363636363636363636363636363636363636363636363­63636363641244b44843543b2043743043944743843a2043f43e43b44343­b44f44244c' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}hexBinary
2. Владимир Куприненко (Knup) 6 06.03.17 22:48 Сейчас в теме
(1)
Разве он не должен быть, как на скриншоте 83е...?


нет, потому что ключ нужно передавать в шестнадцатеричном виде.

(1)
Ввожу ключ - 123456, тест - Вышел зайчик погулять, функцию - sha-1 и получаю:


Добавил поддержку кирилицы
3. Владимир Куприненко (Knup) 6 06.03.17 22:48 Сейчас в теме
(1)
Разве он не должен быть, как на скриншоте 83е...?


в файле обработки есть пример
4. Алексей (Операция1Ы) 53 20.03.17 16:09 Сейчас в теме
на 8.2 работать не будет, там нет ХешированиеДанных.
5. Владимир Куприненко (Knup) 6 22.03.17 01:12 Сейчас в теме
(4) к сожелению, да. Если хеширование sha1, тогда посмотрите http://infostart.ru/public/99739/ готовое решение.