Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 июн 2022, 08:55

Двоичные данные в строку

Автор SlazZy, 27 авг 2013, 17:12

0 Пользователей и 1 гость просматривают эту тему.

SlazZy

В общем пишу обработку для отсылки запросов к HTTP. Там по условиям работы API надо чтобы часть строки сначала шифровалась в SHA1, а потом в MD5. Вот я беру строку, делаю всё по порядку через объект ХешированиеДанных.
ХешSHA1 = Новый ХешированиеДанных(ХешФункция.SHA1);
ХешSHA1.Добавить(РезультирующаяСтрока);

ХешMD5 = Новый ХешированиеДанных(ХешФункция.MD5);
ХешMD5.Добавить(ХешSHA1.ХешСумма);

На выходе получаются двоичные данные. Как из них получить строку?

MuI_I_Ika

Строка = Base64Строка(ХешSHA1.ХешСумма);

SlazZy

Цитата: MuI_I_Ika от 27 авг 2013, 17:49
Строка = Base64Строка(ХешSHA1.ХешСумма);
пасиба, всё было бы идеально. но результирующая строка не та :(

К примеру в моем случае должна получаться "0f8a84e3dc2c93f1ba546e2598c1496f"
А получается  "cu99vt0r3sjlr9euo6eoma=="

Проверял в онлайн конвертере :) с тестовым примером совпадает

MuI_I_Ika

надо конвертировать из base64 в 16 тиричную строку

SlazZy

Сделал  через COMОбъект("MSScriptControl.ScriptControl")
через JS скрипты

sikuda

Цитата: SlazZy от 28 авг 2013, 12:53
Сделал  через COMОбъект("MSScriptControl.ScriptControl")
через JS скрипты

НРег(СтрЗаменить(Строка(Хеш.ХешСумма), " ", ""));

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск