Understanding the vocabulary of protection
There are many techniques to protect your data; below, we’ll briefly introduce some of the most popular ones, and you will see more detailed explanations and practical implementations throughout this chapter:
- Encrypting and decrypting: This is a two-way process to convert your data from cleartext into ciphertext and back again. Cleartext is the original text that you want to protect. Ciphertext is the result of encrypting the cleartext.
- Hashing: This is a one-way process to generate a digest. Hash is the verb; digest is the noun. No matter the size of the input, the digest is of fixed length, for example, a fixed-size byte array. Digests can be used to securely store passwords or to detect malicious changes or corruption of your data. Simple hashing algorithms should not be used for passwords. You should use PBKDF2, bcrypt, or scrypt because these algorithms can guarantee that there cannot be two inputs that generate...