What is Hashing (SHA-256)?
an algorithm that scrambles data to produce a fixed length output.
Hashing Algorithm Properties
deterministic
collision resistance (unique)
pre-image resistance
secondary pre-image resistance
avalanche effect
Deterministic
Same input always produces same output
Collision resistance (unique)
Different inputs will not create same output
Pre-image resistance
Cannot infer or reverse engineer from hash back to original value
Secondary pre-image resistance
all guesses are worth the same - hackers cannot predict or create inputs better than random guessing.
Avalanche effect
any small change in the input will produce an unrecognizable output
What are the common uses of SHA-256 hashing?
create addresses:
as input for digital signatures
in blockchain for block identification (blockID)
proof of work