Внешняя компонента хеширования данных.

04.09.15

Разработка - Разработка внешних компонент

Внешняя компонента хеширования данных, HMAC (SHA-1 ,RIPEMD,Tiger,Whirlpool,MD5 и другие)

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
AddInNativeCryptoPP_86_64.zip
.zip 449,04Kb ver:0.1
15 2 500 руб. Купить
Пример использования компоненты
.epf 232,10Kb ver:1
13 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Предыстория:

  1. По мотивам http://forum.infostart.ru/forum86/topic136695/
  2. Я забанен до некоторого момента на форуме, ответить в комментах не могу. Решено сделать публикацию.
  3. Изначально использовалась библиотека botan (  http://botan.randombit.net/  ) , но не смог скомпилировать ее под Windows без использования  c++ redistributable (есть подозрение , что это и невозможно на текущий момент, но я совсем с плюсами на Вы) , а это дополнительная зависимость, которой не хотелось иметь (имея c++ redistributable , естественно все получилось и есть версия компоненты с Botan, но выкладывать ее не буду)
  4. Поэтому решил использовать библиотеку Crypto++ ( http://www.cryptopp.com/ ) , которая распространяется под лицензией Boost Software License https://ru.wikipedia.org/wiki/Boost_Software_License
  5. Библиотека с Crypto++ сделана вместе со статьей за один присест ))) , поэтому есть вероятность появления неожиданностей и рекомендую все таки сразу не использовать в продакшн коде, а проверить ее.  (к сожалению серьезных тестов я не делал, ограничившись проверкой пары хэшей с сайта freeformatter.com/hmac-generator.html и сравнением с результатами кода в питоне)
  6. Методы 

 

СлучайноеЧисло(МинимальноеЗначение,Максимальное значение) -  Возвращает случайное число заданного диапазона

RandomNumber

 

ХешированиеДанныхКодом (НаименованиеАлгоритма, Сообщение, Ключ)

DataHashingMAC

Возвращает результат(ДвоичныеДанные) хеширования HMAC алгоритма заданного первым аргументом  .

Например:

 

НаименованиеАлгоритма = "HMAC(SHA-1)";
Сообщение = "Тестовая строка";
Ключ  = "Тестовый ключ857";
ДвоичныеДанные  = ОбъектВК.ХешированиеДанныхКодом (НаименованиеАлгоритма, Сообщение, Ключ);
ТипДвоичныеДанные = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "hexBinary");
Данные = ФабрикаXDTO.Создать(ТипДвоичныеДанные,ДвоичныеДанные);
Сообщить(Данные.ЛексическоеЗначение);

Будет сообщение  - 00634d9276c7e8fa3b8e4d3015a22f4a8438b

 

 

ХешированиеДанных (НаименованиеАлгоритма, Сообщение)

DataHashing

Возвращает результат(ДвоичныеДанные) хеширования алгоритма заданного первым аргументом  .

В принципе особого смысла метод не имеет для алгоритмов, которые уже есть возможность использовать в программе . SHA-1 , например или MD5. С другой стороны в Crypto++ реализовано гораздо больше алгоритмов . Например : Whirlpool

 PS. Замечание: при вызове метода с неизвестными именами алгоритмов или неправильными именами , программа будет завершаться с ошибкой. Это будет исправлено на выдачу исключения.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18300 руб.

30.05.2017    56332    10    71    

46

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

5094 руб.

02.09.2010    81174    75    280    

193

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5084 руб.

12.05.2020    32751    144    100    

100

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

5084 руб.

17.09.2018    40099    117    128    

120

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    5943    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    10491    kovalevdmv    29    

83
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Region102 26.12.17 19:01 Сейчас в теме
Потратил 2 старт мани на то, что не работает на УФ, платформа 8.3.11 х64.
2. ArchLord42 84 26.12.17 20:23 Сейчас в теме
(1) на 8.3.11 есть же наивный объект для получения хеша, но он конечно не так богат на хеш функции
3. Region102 27.12.17 11:18 Сейчас в теме
Проблема всех этих функций в том, что они считают хеш как-то не так, надо преобразовывать base64 туда сюда, для работы с Amazon S3 хеш высчитывается 1 раз и строки, 3 раза из последовательности байт и только потом получается сигнатура с переводом в hex. На php это решается в 4 строки кода. На 1С пришлось "голову сломать" и реализовать через COMОбъект("System.Security.Cryptography.HMACSHA256"), но и там есть свои тонкости.
Для отправки сообщения требуется регистрация/авторизация