Module 6.4: Password hashing Hashing: A hash takes any input and turns it into a long sequence of letters and numbers. Example: "mypassword" → ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f Why do we use it? To store passwords safely To check file integrity (if a file changes at all, the hash will completely change) An example is SHA256, try it out: https://emn178.github.io/online-tools/sha256.html type in your name or anything you want, then change just one letter and see what happens I made one for testing: da355c585ad36b98017d11ed3fd05199acbb2855345dc463f61fc42fdf6656c9 is a SHA256  hash of Toomanysecrets77 Challenge: repeat the hash with the same password using different encodings: MD5, SHA256, SHA512 what do you notice? Encryption: Encryption takes an input and gives you the encrypted version along with a specific key to decrypt it. Types of Encryption: 1. Symmetric Encryption (One key) a. The same key is used to encrypt and decrypt (lock and unlock) b. Fast and easy to use c. Since there is only one key, sharing the key with people has to be done safely 2. Asymmetric Encryption (Two keys) a. You have a public key and a private key b. Anyone can use your public key to lock a message for you c. Only your private key can unlock it Some examples of people/businesses that use encryption are: Messaging apps (WhatsApp, iMessage, Signal) Banking websites (Chase, Wells Fargo, etc) Cloud services (AWS, Azure, GCP) Tools: Hashing app: https://emn178.github.io/online-tools/sha256.html Hashcat: https://www.youtube.com/watch?v=mo_vh0BCA_g Kali video: https://www.youtube.com/watch?v=z4_oqTZJqCo Migrated from Apple Server Wiki. Original page ID: W0N6N6