No, the SHA hash is not reversible (at least not so easily). When you do something, if you need to cancel it, you need to restore the hash. This is usually done using a private (salt) and public key.
For example, if I try to prevent access based on my user ID. I would haveh my user id and salt. For example, say MD5. My user id is β12345β and the salt is βabcdeβ
So, I will make a hash string "12345_abcde" which returns a hash from "7b322f78afeeb81ad92873b776558368"
Now I will pass the hash and the public key, β12345β, which is the public key and has to the validating application.
The validating application knows the salt, so it has the same meanings. "12345_abcde", which in turn will generate an accurate hash. Then I compare the hash that I checked with the one that passed, and they match. If I somehow changed the public key without changing the hash, another would be generated, which would lead to a mismatch.
source share