Lecture 3 Flashcards
SQL injection
- Code injection technique that might destroy your database.
Password Hashing
Hashing is the process of generating a string, or hash from a given message using a mathematical function known as cryptographic hash function.
Four properties of password hashing:
- It should be deterministic: The same message processed by the same hash function should always have the same hash.
- It’s not reversible: It’s impractical to generate a message from its hash.
- It has high entropy: A small change to a message should produce a vastly different hash.
- It resists collisions: Two different messages should not produce the same hash.
Rainbow table
A precomputed table for reversing cryptographic hash functions, usually for cracking password hashes.
Salts
Short random set of characters that are appended to the end of a password before it is hashed. Not added by the client. Same for a bunch of passwords.
Peppers
Short string or character appended to the end of a password. Peppers are different and random for each password. Not added by the client. Pepper is not stored.
Extra time to crack, extra time to log in has the password will have to be hashed all the way until the password is correct.