Генерация хеша любого вида может рассматриваться как форма « сжатия с потерями », во время создания вывода вы теряете данные о вводе.
Единственный способ вернуть эти данные - «угадать» и повторить операцию с потерями, чтобы увидеть, получите ли вы тот же результат снова. Это именно то, что такое «грубое принуждение», угадывая каждое возможное значение, которое могло быть отправлено, и проверяя, получаете ли вы тот же результат снова.
Однако знайте, что вы не можете точно знать, что у вас есть «правильная» пропущенная информация только потому, что вы получили тот же результат после ее обработки. Например, у меня есть алгоритм, который я ввожу слово, и он выводит:
Введенное слово начинается с «F» и заканчивается «Uck»
Вы бы догадались, что слово, которое я ввел, было «Пожарная машина»?