SHA belongs to the family of "Secure Hash Algorithms". You use the SHA functions to take any data like a document/password/text etc. and compute a "digest" or "hash" of the data. It's important to realize that this is a one-way process . You can't take back a hash/digest and get back the original data. MD5 or SHA are both crypto hash functions http://en.wikipedia.org/wiki/Cryptographic_hash_function AES, on the other hand, is used to encrypt data, or prevent people from viewing that data with knowing some secret. AES is a family of functions called Symmetric-key algorithm that uses a shared key which means that the same key (or a related key) is used to encrypted the data as is used to decrypt the data at the receiver. This is different than Public-key cryptography family of algorithms that use a public key such PGP or SSL. http://en.wikipedia.org/wiki/Symmetric-key_algorithm