1C и bCrypt шифрование

Опубликовано Опубликовано в рубрике 1C Программирование, Сайтостроение

Доброго времени суток, уважаемые читатели.

Сегодня я расскажу об одном весьма интересном опыте. Потребоваль для одного проекта вести базу логинов и паролей к сайту в 1С. Да так, чтоб в базе пароли хранились не в открытом виде, а зашифрованные методом bCrypt. Ввиду того, что 1С понятия не имеет что это такое, было принято шифрование выполнять на стороне веб-сервера, а со стороны 1С вызывать web-service, передавая в качестве параметра пароль в открытом виде, а в ответ получая зашифрованную строку.

Итак реализация:

На стороне веб-сервера находится файл Service.php

При вызове данного сервиса ожидается передача параметра Pass — методом GET, который содержит пароль в чистом виде. Сервис шифрует его и возвращает в формате JSON ответ, содержащий информацию об ошибке или ее осутствии и хеш пароля, который вернула функция шифрования.

выглядит это следующим образом:

Вызываем сервис http://hotel.skalnyy.com/api/Service.php без указания параметра Pass, получаем ответ:

Вызываем сервис http://hotel.skalnyy.com/api/Service.php?Pass=123 указывая параметру Pass пароль, который мы хотим зашифровать, получаем ответ:

 

на стороне 1С:7.7:

<< Продолжение следует… >>