Имя: Пароль:
1C
1C 7.7
v7: как вызвать в 7ке: HashedData = Новый COMОбъект("CAdESCOM.HashedData") ?
0 Shved_72
 
27.06.16
15:39
пока писал полулось СоздатьОбъект("CAdESCOM.HashedData"),
а дальше затык с
UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding");
HashedData.Hash(UTF8Encoding.GetBytes_4(Строка));


СоздатьОбъект("System.Text.UTF8Encoding") уже не канает
1 Serginio1
 
27.06.16
15:43
2 Serginio1
 
27.06.16
15:45
Вот пример для 7 ки
Функция ВычислитьHMAC(key,стр)
    врап=СоздатьОбъект("NetObjectToIDispatch45");
    врап.УстЭтоСемерка();
//    если только латиница
//encoding=Врап.ПолучитьТип("System.Text.Encoding").ASCII;
encoding=Врап.ПолучитьТип("System.Text.Encoding").UTF8;

keyByte = encoding.GetBytes(key);

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

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

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

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

Процедура Сформировать()

    Если ПустаяСтрока(СтрокаДляХэширования)=1 Тогда
        Предупреждение("Не введена строка для хэширования");
        Возврат;
    КонецЕсли;    
    Если ПустаяСтрока(Ключ)=1 Тогда
        Предупреждение("Не введен ключ для хэширования");
        Возврат;
    КонецЕсли;    
    
    ВычислитьHMAC(СтрокаДляХэширования,Ключ)
КонецПроцедуры