/
smwwiki
/
OneScript_fork
Обзор
Документация
Войти
/
smwwiki
/
OneScript_fork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/datahashing-from-stream.os
58 строк
3 KB
Chipazawra
qfx after review
02 июл 2021, 11:56
02 июл 2021, 11:56
e6f8b57
Код
Авторство
О чём код?
Перем юТест; Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти"); Возврат ВсеТесты; КонецФункции Функция ТестДолжен_ПроверитьХешированниеДанныхИзПотокаВПамяти() Экспорт БДД = ПолучитьБуферДвоичныхДанныхИзHexСтроки("313233"); Поток = Новый ПотокВПамяти(); Структура = Новый Структура("Поток", Поток); Поток.Записать(БДД, 0, 3); Поток.Перейти(0,ПозицияВПотоке.Начало); ХД = Новый ХешированиеДанных(ХешФункция.MD5); ХД.Добавить(Поток); юТест.ПроверитьРавенство(Строка(ХД.ХешСумма), "20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70", "Не получен ожидаемый hash - 20 2C B9 62 AC 59 07 5B 96 4B 07 15 2D 23 4B 70" + "Получен hash - " + Строка(ХД.ХешСумма) ); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("1b1e c416 6a11 c03b 3afe faea 442e 7709"); Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения(); ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла); ЗаписьТекста.ЗаписатьСтроку("1b1e c416 6a11 c03b 3afe faea 442e 7709"); ЗаписьТекста.Закрыть(); ФайловыйПоток = Новый ФайловыйПоток(ИмяВременногоФайла, РежимОткрытияФайла.Открыть); Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256); Хеширование.Добавить(Поток, 2); юТест.ПроверитьРавенство("0b427acd4088d248408e38b34fb378172a05bd71e58b384f5b279beea7aea467" , НРег(ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма))); Хеширование.Добавить(Поток, 12); юТест.ПроверитьРавенство("2a0815b87888a03406d7ab482b965361eb96112db88e8ab6ea214cb107ee8469" , НРег(ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма))); Хеширование.Добавить(ФайловыйПоток, 2); юТест.ПроверитьРавенство("8f0ae87f4e7fa52ed08127867a7430003b312ca3777319a533ae417daa6255cc" , НРег(ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма))); Хеширование.Добавить(ФайловыйПоток, 12); юТест.ПроверитьРавенство("4ec0ce7ec4e12c6e8922f5f1c28a582557e88731a32845a0429cda74ee7fa649" , НРег(ПолучитьHexСтрокуИзДвоичныхДанных(Хеширование.ХешСумма))); КонецФункции