Следующий вопрос сложнее, чем может показаться на первый взгляд.
Предположим, что у меня есть произвольный объект JSON, который может содержать любое количество данных, включая другие вложенные объекты JSON. Я хочу получить криптографический хэш / дайджест данных JSON без учета фактического форматирования JSON (например: игнорирование новой строки и различий в интервалах между токенами JSON).
Последняя часть является обязательной, поскольку JSON будет генерироваться / считываться множеством (де) сериализаторов на разных платформах. Я знаю как минимум одну библиотеку JSON для Java, которая полностью удаляет форматирование при чтении данных во время десериализации. Таким образом, он нарушит хэш.
Вышеупомянутое предложение о произвольных данных также усложняет ситуацию, поскольку не позволяет мне брать известные поля в заданном порядке и объединять их до хеширования (подумайте примерно, как некриптографический метод hashCode () в Java работает).
Наконец, хеширование всей строки JSON в виде блока байтов (до десериализации) также нежелательно, поскольку в JSON есть поля, которые следует игнорировать при вычислении хэша.
I ' Я не уверен, что есть хорошее решение этой проблемы, но я приветствую любые подходы или мысли =)