Имя: Пароль:
1C
 
Класс не зарегистрирован: Новый COMОбъект("System.Text.UTF8Encoding");
0 Slider2020
 
05.08.20
21:02
Ошибка:     
Текст = Новый COMОбъект("System.Text.UTF8Encoding");
по причине:
-2147221164(0x80040154): Класс не зарегистрирован

при таком коде:

Текст = Новый COMОбъект("System.Text.UTF8Encoding");
Криптография = Новый COMОбъект("System.Security.Cryptography.HMACSHA256");
    
Если ТипЗнч(InKey) = Тип("Строка") Тогда
        SecKey = Текст.GetBytes_4(InKey);
Иначе
    SecKey = InKey;
КонецЕсли;
    
Криптография.Key = SecKey;
    
Возврат Криптография.ComputeHash_2(Текст.GetBytes_4(String));

(((
1 Serginio1
 
05.08.20
21:32
2 Serginio1
 
05.08.20
21:34
Функция ВычислитьHMAC(key,message)
    врап=новый COMОбъект("NetObjectToIDispatch45");

encoding=Врап.ПолучитьТип("System.Text.Encoding").ASCII;
keyByte = encoding.GetBytes(key);

hmacmd5 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACMD5",keyByte);
hmacsha1 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACSHA1",keyByte);

messageBytes = encoding.GetBytes(message);
hashmessage = hmacmd5.ComputeHash(messageBytes);
hashmessage2 = hmacsha1.ComputeHash(messageBytes);
BitConverter=Врап.ПолучитьТип("System.BitConverter");
Strhashmessage=СтрЗаменить(BitConverter.ToString(hashmessage),"-","");
Strhashmessage2=СтрЗаменить(BitConverter.ToString(hashmessage2),"-","");

Сообщить(Strhashmessage);
Сообщить(Strhashmessage2);
    

КонецФункции // ВычислитьHMAC()