//Дв = Новый ДвоичныеДанные("");
тмпФайл = ПолучитьИмяВременногоФайла();
Дв.Записать(тмпФайл);
ОЗО = СМ_ОписаниеЗащитыБезПредупреждений();
Если ОЗО = Неопределено Тогда
Обр = ВнешниеОбработки.Создать(тмпФайл, Ложь);
Иначе
Попытка
Обр = ВнешниеОбработки.Создать(тмпФайл, Ложь, ОЗО);
Исключение
Обр = ВнешниеОбработки.Создать(тмпФайл, Ложь);
т = ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Функция СМ_ОписаниеЗащитыБезПредупреждений() Экспорт
Попытка
ИмяТипа = "ОписаниеЗащитыОтОпасныхДействий";
ОписаниеЗащиты = Новый(ИмяТипа);
ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
Возврат ОписаниеЗащиты;
Исключение
т = ОписаниеОшибки();
КонецПопытки;
Возврат Неопределено;
КонецФункции
collections = [{'name': 'name1', 'stock': 10},
{'name': 'name1', 'stock': 10, 'count': 4},
{'name': 'name2', 'stock': 10, 'count': 4},
{'name': 'name1', 'sells': 10}]
result = []
for items in collections:
for n, collection in enumerate(result):
if collection['name'] in items['name']:
new_list = {**items, **collection}
result[n].update(new_list)
break
else:
result.append(items)
{'name': 'name1', 'stock': 10, 'count': 4, 'sells': 10}
{'name': 'name2', 'stock': 10, 'count': 4}
Само собой очевидно, что имея доступ к исходным данным, пользователь как угодно может их подделать и на основе их сформировать правильных хеш.
Я бы не стал создавать этот топик, если бы правда думал, что это поможет как-то обезопасить себя от фейковых данных
И всё же, неужели нет способа усложнить жизнь злоумышленнику настолько, что прям без особой необходимости он не станет разбираться во всём этом? Что-то вроде "сузить круг желающих".
Прежде, чем данные проходят этап декодирования (трафик, который перехватывается немного закодирован), данные полностью сырые и там без знаний специфики того, как их правильно декодировать, особо не подделываешь. Можно, но сложность возрастает, а это то, что мне и нужно. Только вот на основе чего и как - вопрос.
Я бы мог отправлять сырые данные и генерировать на основе сырых данных хеш, но как и писал в вопросе, это будет нагрузка и на сервер и на интернет-канал клиента (так как пакеты генерируются постоянно, но не все из них действительно нужно отправлять)