Виконання php-функцій із 1С 8, та створення хеш коду на підставі ключа

Виконання php-функцій із 1С 8, та створення хеш коду на підставі ключа

Нещодавно з’явилася задача формування та передачі по запиту хеш-кода з ключем методом HMAC. На жаль, 1С поки немає такого функціоналу, на сьогодні вона може тільки формувати звичайні хеш-коди, без ключа. Тому довелось шукати якісь альтернативи.

Перепробував різні варіанти які знайшов у мережі, але жоден не давав потрібний результат. Перевіряв результат на різних онлайн сервісах. Тому вирішив подивитися на задачу трохи з іншого боку, а саме виконати функцію php напряму, бо тільки так я можу отримати 100% однаковий результат виконання функції створення хеш-коду, як і будь-якої іншої функції.

Виявилось що це достатньо просто.

Сама функція php виглядає так:

Її призначення створення хеш-коду на підставі ключа, з використанням методу HMAC.

Параметри функції:

$algo: Ім’я обраного алгоритму хешування (наприклад, “md5”, “sha256”, “haval160,4” та інші).

$data: строка яку потрібно захешувати

$key: таємний ключ який буде використовуватись для створення хеш-коду.

Теперь як її виконати із 1С та отриманий результат використати в 1С.

  1. Знаходимо і завантажуємо архів з файлами для роботи функцій php. Його достатньо розпакувати в окрему папку і використовувати.
  2. Пишемо в 1С код для формування php коду, його виконання та отримання результату. В мене вийшло так:

Таким чином можна виконувати буль-який код на PHP.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.