Module 6.4: Password hashing
Migration
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 progressyour 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 WikiServer Wiki. Original page W0N6N6.ID: W0N6N6