Этот вопрос связан с этим , но я думаю, что его следует задать отдельно.
У меня сложный граф. экземпляров объекта. Теперь я хотел бы создать контрольную сумму для этого графа объекта непосредственно в памяти, чтобы определить, были ли внесены в него изменения с момента последнего сохранения контрольной суммы с графом объекта. Расчет контрольной суммы должен быть быстрым и не должен занимать слишком много памяти.
Насколько я понимаю, лучшим решением, вероятно, было бы создание криптографического ключа в двоичной сериализованной форме графа объектов (поправьте меня, если я ошибаюсь). Но тут возникает несколько вопросов:
Насколько я понимаю, лучшим решением, вероятно, было бы создание криптографического ключа в двоичной сериализованной форме графа объектов (поправьте меня, если я ошибаюсь). Но тут возникает несколько вопросов:
Насколько я понимаю, лучшим решением, вероятно, было бы создание криптографического ключа в двоичной сериализованной форме графа объектов (поправьте меня, если я ошибаюсь). Но тут возникает несколько вопросов:
Обновление:
Что вы думаете об этом подходе:
Упомянутый алгоритм GetHashCode должен быстро вычислить хэш-код, который достаточно безопасен для коллизий для одного объекта, который учитывает только его примитивные члены. Исходя из этого, байтовый массив также должен быть довольно безопасным для коллизий представлением графа объекта и хэша MD5 / CRC для этого.