0
fly7
14.10.15
✎
08:32
|
Необходимо зашифровать строку по алгоритму SHA256 и перевести в "hexadecimal representation"
The HMAC-SHA256 code must be generated using a secret key that was generated with your API key. This code must be converted to it's hexadecimal representation (64 uppercase characters).
шифрование сделал, а как перевести в "hexadecimal representation" не знаю... может кто сталкивался?
шифрование делал так
Функция ЗашифроватьSHA256(Строка, СекретныйКлюч)
Соотв16 = Новый Соответствие;
Соотв16.Вставить(0 , "0");
Соотв16.Вставить(1 , "1");
Соотв16.Вставить(2 , "2");
Соотв16.Вставить(3 , "3");
Соотв16.Вставить(4 , "4");
Соотв16.Вставить(5 , "5");
Соотв16.Вставить(6 , "6");
Соотв16.Вставить(7 , "7");
Соотв16.Вставить(8 , "8");
Соотв16.Вставить(9 , "9");
Соотв16.Вставить(10, "a");
Соотв16.Вставить(11, "b");
Соотв16.Вставить(12, "c");
Соотв16.Вставить(13, "d");
Соотв16.Вставить(14, "e");
Соотв16.Вставить(15, "f");
Текст = Новый COMОбъект("System.Text.UTF8Encoding");
Криптография = Новый COMОбъект("System.Security.Cryptography.HMACSHA256");
Криптография.Key = Текст.GetBytes_4(СекретныйКлюч);
ХешБайт = Криптография.ComputeHash_2(Текст.GetBytes_4(Строка)).Выгрузить();
Хеш = "";
Для Каждого Байт Из ХешБайт Цикл
Чс = Цел(Байт/16);
Хеш = Хеш + Прав("0" + Соотв16.Получить(Чс) + Соотв16.Получить(Байт-Чс*16), 2);
КонецЦикла;
Возврат Хеш;
КонецФункции
|
|