This document discusses different methods for encrypting and protecting data at rest and in transit. It compares hashing and encryption techniques, and evaluates them based on requirements like encrypting data at the object level while allowing decryption, avoiding changes to application code, and minimizing performance impacts. The document demonstrates encryption using a hash grouping technique on sample data and discusses options like salting hashes to improve security. It also highlights that new technologies may eventually crack encryption algorithms and that encryption standards will need to evolve over time.