MD5 Hash файла
Получение md5 хэша для файла
- Описание
- Подробнее
Описание
Бывают случаи, когда необходимо получать какой-либо хэш для файла. В состав операционной системы входит библиотека криптографии 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; КонецФункции

