Поиск по этому блогу

вторник, 3 октября 2017 г.

Вычисление хэш суммы MD5 в 1С 8.3

Следующая функция вернёт хэш MD5 для указанного файла.

Код:
Функция ВычислитьMD5Файла(ИмяФайла) Экспорт ХэшированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5); ХэшированиеДанных.ДобавитьФайл(ИмяФайла); Хэш = НРег(СтрЗаменить(ХэшированиеДанных.ХешСумма, " ", "")); Возврат Хэш; КонецФункции

Следующая функция вернёт хэш MD5 для двоичных данных или строки в кодировке UTF8.

Код:
// Данные - ДвоичныеДанные или Строка в кодировке UTF8 Функция ВычислитьMD5(Данные) Экспорт ХэшированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5); ХэшированиеДанных.Добавить(Данные); Хэш = НРег(СтрЗаменить(ХэшированиеДанных.ХешСумма, " ", "")); Возврат Хэш; КонецФункции
Дополнение от 13.01.2022: вместо СтрЗаменить(ХэшированиеДанных.ХешСумма, " ", "") можно (и нужно?) использовать ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(ХэшированиеДанных.ХешСумма))

Данный текст доступен по лицензии Creative Commons Attribution (CC BY)