Каталог решений - MD5 Hash файла

Описание

Бывают случаи, когда необходимо получать какой-либо хэш для файла. В состав операционной системы входит библиотека криптографии capicom.dll, используя которую можно получить интересующий нас хэш. Привожу код для 7.7, его без труда можно перевести на 8.х

 

 

Функция  МД5(файл)
   
ScrCtrl = СоздатьОбъект(«MSScriptControl.ScriptControl»);
   
ScrCtrl.Language = «vbscript»;
   
ScrCtrl.AddCode(«
    |Function Hash()
    |Dim crypt: Set crypt = CreateObject(«»CAPICOM.HashedData»»)
    |crypt.Algorithm = 3
    |Dim stream: Set stream = CreateObject(«»ADODB.Stream»»)
    |stream.Type = 1 ‘ adTypeBinary
    |stream.Open
    |stream.LoadFromFile(«»»
+файл+«»»)
    |Do Until stream.EOS : crypt.Hash stream.Read() : Loop
    |Hash = crypt.Value
    |End Function
    |»
);
   
рез = ScrCtrl.Run(«Hash»);
    Возврат
рез;
КонецФункции

Кроме того, указав в этой функции другой алгоритм можно получить хэш SHA1, MD2, MD4, SHA-256, SHA-384 и SHA-512.

Подробнее http://msdn.microsoft.com/en-us/library/aa382443(VS.85).aspx

UPD: код для 1с8, любезно предоставленный в комментариях Mikelana

Функция  МД5(файл) 
    
    crypt = Новый COMОбъект("CAPICOM.HashedData");
    crypt.Algorithm = 3;    

    stream = Новый COMОбъект("ADODB.Stream");
    stream.Type = 1;
    stream.Open();
    stream.LoadFromFile(файл);
    Пока НЕ stream.EOS Цикл
        crypt.Hash(stream.Read());
    КонецЦикла; 

    Возврат crypt.Value;
    
КонецФункции
has been added to your cart:
Оформление заказа