SHA256 no es una función de cifrado sino una función hash . La diferencia fundamental es que si bien el cifrado es una función bidireccional (dada la clave), el hash es solo una función de una manera: dado algunos datos puede calcular el hash, dado que el hash es difícil (y matemáticamente imposible) recuperar los datos. .
Dije que es matemáticamente imposible encontrar los datos del hash porque, por lo general, una función hash tiene un pequeño dominio de código (por ejemplo, 256 bits para SHA256) pero un gran dominio (puedes enlazar cualquier cadena), por lo que habrá colisiones: Diferentes cadenas con el mismo hash.
Por esta razón, si su contraseña se guarda en forma de hash, entonces existe una contraseña infinita (pero pueden ser muy largas) que desbloquea su cuenta.
La buena noticia es que las colisiones son poco frecuentes cuando se utilizan funciones hash criptográficas , por lo que su cuenta sigue siendo segura.
Respondiendo a la primera parte de su pregunta, la verificación de datos es fácil: si Alice le envía a Bob un archivo con la suma de comprobación de hash, Bob puede calcular fácilmente el hash del archivo que recibió y compararlo con el hash que recibió de Alice. Esto suele ser suficiente para descubrir si ha habido algún error durante la transmisión (por lo que el archivo está dañado), pero no es suficiente si la transmisión ha sido alterada por algún atacante que también alteró el hash. Así que Alice y Bob necesitan un canal seguro para transmitir el hash (por ejemplo, una página https con un certificado válido) o necesitan firmar el hash de alguna manera.
Entonces pasamos a la respuesta a tu segunda pregunta: Alice puede firmar el hash usando su clave privada antes de enviarla a Bob, de esta manera un atacante no puede manipularla sin invalidar la firma.
Ahora puede preguntar por qué Alice firma con su clave RSA (o similar) solo el hash y no todo el mensaje, esto se debe a que calcular RSA es más lento que calcular un hash (por lo tanto, tiene que hacer lo lento solo en una cadena pequeña: el hash). Esto fue cierto especialmente cuando se creó PGP y las computadoras fueron más lentas.