Здравствуйте . Прошу сильно не пинать.
Поставлена задача заказчиком чтобы в письме формировалась ссылка на liqpay в которой будут передаваться данные
Проблема заключается в том что это нужно зашифровать base64 ( предварительно получив хеш строкового выражения).
На инфостаре есть тема по этому поводу, но по скольку я с этим не сталкивался ранее видимо не хватает знаний . ( http://pro1c.org.ua/redirect.php?http://infostart.ru/public/99739/).
Википедия тоже как-то не принесла просветлений...
Может кто поможет с обработкой или разъяснениями . вообщем
Все варианты вроде работают но результат не правильный . . . За любой свет спасибо за ранее.
Хеширование = Новый ХешированиеДанных(ХешФункция.SHA1);
Хеширование.Добавить("МояСтрока");
Хеш = Хеширование.ХешСумма;
спасибо полдела сделано . согласно примера хеш мы получили, теперь этот хеш нужно закодировать в base64 ( и опять не сходится контрольное значение )
Ответ я так понимаю должен быть 2PRZAyDhNDqRw20UFwZQqPNdaSY=
а получается не правильные данные
Результат = base64_encode( sha1("sha", 1 ) )
Код использую
Процедура Encode("Моя строка") //D8 F4 59 03 20 E1 34 3A 91 5B 63 94 17 06 50 A8 F3 5D 69 26
КодировкаФайла = Кодировка;
Если Кодировка = "ANSI" Тогда
КодировкаФайла = КодировкаТекста.ANSI;
ИначеЕсли Кодировка = "OEM" Тогда
КодировкаФайла = КодировкаТекста.OEM;
ИначеЕсли Кодировка = "UTF8" Тогда
КодировкаФайла = КодировкаТекста.UTF8;
ИначеЕсли Кодировка = "UTF16" Тогда
КодировкаФайла = КодировкаТекста.UTF16;
ИначеЕсли Кодировка = "Системная" Тогда
КодировкаФайла = КодировкаТекста.Системная;
КонецЕсли;
ВременныйФайл = ПолучитьИмяВременногоФайла();
Запись = Новый ЗаписьТекста(ВременныйФайл, КодировкаФайла);
Запись.Записать(Моя строка);
Запись.Закрыть();
ДвДанные = Новый ДвоичныеДанные(ВременныйФайл);
Encoded = Base64Строка(ДвДанные);
УдалитьФайлы(ВременныйФайл);
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua