which is better used in MachineKey for 3.5 framework in asp.net?
and what is the reason why?
SHA1 and AES are two different things. SHA1 is a cryptographic hash algorithm while AES is a symmetric cypher.
Basically, SHA1 creates a "digest" of a message. The digest is a one-way hash that has a very small possibility of being anything like the hash generated for a similar but different message.
AES is a symmetric cipher used to encrypt data, and decrypt encrypted data. You give it a key, and it used that key and the algorithm to encrypt and decrypt data.
SHA1 is used to verify the integrity of a message, while AES is used to encrypt messages.