Faut être précis dans les termes en fait.
Soit tu chiffres, et tu déchiffres.
Soit tu hash, (et tu ne déhash pas).
Typiquement un mot de passe est chiffré sur un ordinateur, le chiffrement est transmis entre un ordinateur et un serveur web, il est déchiffré sur le serveur web, et il est hashé entre le serveur web et la base de donnée.
En chiffrement, l'essentiel des algorithmes repose sur deux principes, la confusion et la diffusion. La majeure partie des chiffrements d'aujourd'hui utilise l'algorithme AES. Il fait partie des algorithmes de chiffrement par bloc. L'idée c'est que tu chiffres un bloc (une partie de tes données), et que tu utilises ce chiffrement pour chiffrer une autre partie des données, etc...
Si A, B, C c'est tes données, Ac, Bc, Cc tes données chiffrées, et v,k respectivement un vecteur et ta clé alors l'idée c'est:
Ac = f(A, v, k)
Bc = f(B, Ac, k)
Cc = f(C, Bc, k)
...
Officiellement la seule méthode de chiffrement incassable (et dont on peut démontrer l'incassabilité) est le chiffrement par masque (tu peux combiner le chiffrement par masque à un générateur pseudo aléatoire de sorte à pouvoir échanger avec quelqu'un de façon chiffrée avec comme base de sécurité le générateur).
Le reste c'est du chiffrement symétrique avec AES, ou asymétrique avec RSA.