ХешированиеДанных в 1с8 для обмена ссайтом #798792


#0 by e053nk
Не получается корректный получить ответ от функции В интернете нашел пару старых тем с такой же проблемой-только там либо решения до конца не приводятся . либоу меня ихметоды не срабатывают. В в он лай сервисе получаю строку 62e37f6dc60083ba969f06ec2276a8682bec227b мой код возвращает 72d885fd4b2850deefc625e2470eba85e29964ab Чт оне так?
#1 by Гипервизор
Что за онлайн-сервис? Проверил на нескольких - результат идентичен 1С.
#2 by e053nk
Вчера открывал сайт-сейчас найти не могу. Иностранный какой то -2 поля строка и ключ -и реально выдавал 62e37f6dc60083ba969f06ec2276a8682bec227b . И в примере на сайте также значение 62e37f6dc60083ba969f06ec2276a8682bec227b  формируется.
#3 by e053nk
нашел
#4 by Гипервизор
Ну и что за ключ туда передавать? В 1С вы кажется секретный ключ не передаете и удивляетесь другому результату? Ну раз уж не устраивает: то может устроит по вашей же ссылке рядом:
#5 by Serginio1
Возможно тебе нужен HMAC
#6 by e053nk
Т.е. функции формирования хэш по ключу в 1с 8 стандартной  нет? Только внешние библиотеки?
#7 by Лефмихалыч
есть, просто ты в эту функцию передаешь не то, что надо. Соответственно, получаешь не то, что хочешь
#8 by e053nk
Хорошо,что и куда нужно передать в моём случае,чтобы получить ответ=62e37f6dc60083ba969f06ec2276a8682bec227b ?
#9 by e053nk
Подниму тему да наверное это и нужно, только по ссылке не понял до конца, что это за компонента. Нашел на просторах интернета статью "HMAC на встроенном языке 1С" , в ней вроде  как все расписано, единственно на вход функции HMAC(Знач K, Знач text, Знач Hash) нужно посылать значение К(ключа) в шестнадцатеричном виде. Нашел функцию перевода строки в шестнадцатеричном код: И все равно  на выходе не получается не тот ответ: Дальше что то не пойму куда копать- вроде все данные правильно указываю- на выходе все равно не неправильный ответ. Может у кого то еще идеи есть?
#10 by Гипервизор
Посмотри вот это
#11 by Serginio1
#12 by Serginio1
#13 by Serginio1
Можешь проверить генерацию здесь
#14 by e053nk
Взял алгоритм по ссылке.Не получается получить строку нужную. Вроде все подставил -возвращает другое содержимое. ТипДвоичныеДанные = ФабрикаXDTO.Тип(";, "base64Binary"); Выдает в итоге: ДвоичныеДанные.ЛексическоеЗначение="zs2w+UmCpQw1SaliGyyYOWQn4bo=" ДвоичныеДанные.Значение=CE CD B0 F9 49 82 A5 0C 35 49 A9 62 1B 2C 98 39 64 27 E1 BA В чем еще проблема может быть?
#15 by e053nk
Описанные выше действия,которые я произвел,не привели к получению нужного результата. Сейчас работает только такой код: Возвращает необходимое тестовое значение. Функция не моя, нашел в старой теме на форуме. Почему не заработала функция Функция HMAC(Знач K, Знач text, Знач Hash),из статьи "HMAC на встроенном языке 1С" -я так и не понял.Хотя там только язык 1с используется -и она была бы предпочтительнее. Всем откликнувшимся -большое спасибо, без ваших ссылок я вообще ничего не сделал бы/не нашел.
#16 by Serginio1
Это по сути тоже самое, что и в Только обертка над классами .Net уже внутри OC. Скорее всего для Visual Basic При этом из-за отсутствия перегрузки методов в COM приходится добавлять цифры GetBytes_4 ComputeHash_2
#17 by e053nk
Так там тоже внешние компоненты используются, не 1с. А в "HMAC на встроенном языке 1С" только 1с, "родной и пушистый". Огорчает, что не могу понять, что нет так делаю -у других людей  эти функции ,наверно, работают нормально.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С