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