A software algorithm that scrambles data in order to hide it from others. The algorithm scrambles the data in such a way that it can be unscrambled and the original value recovered. Many times, obfuscation refers to a very light-weight (fast), low security, algorithm used for short-term storage, such as in-process memory. Full-blown encryption algorithms are much more heavy-weight (slow), complex, high-security algorithms used for long-term storage, such as in a database.