Нет, хеш SHA необратим (по крайней мере, не легко). Когда вы хешируете что-то, если вам нужно изменить его, вам нужно восстановить хеш. Обычно это делается с помощью закрытого (соленого) и открытого ключа.
Например, если я пытаюсь запретить доступ на основе моего идентификатора пользователя. Я бы хэшировал мой идентификатор пользователя и соль. Скажем, например, MD5. Мой идентификатор пользователя "12345", а соль "abcde"
Так что я буду хешировать строку «12345_abcde», которая возвращает хеш «7b322f78afeeb81ad92873b776558368»
Теперь я передам проверяющему приложению хэш и открытый ключ, «12345», который является открытым ключом и имеет.
Проверяющее приложение знает соль, поэтому оно хеширует те же значения. «12345_abcde», который, в свою очередь, генерирует точно такой же хэш. Затем я сравниваю хэш, который я проверял, с выданным, и они совпадают. Если бы я каким-то образом изменил открытый ключ без изменения хэша, сгенерировалось бы другое значение, что привело бы к несоответствию.