What is a Cryptographic Hash Function?
A cryptographic hash function is a mathematical algorithm that transforms an arbitrary block of data into a fixed-size string of characters, known as a digest or hash. Modern cryptographic hash functions are deterministic (the same input always produces the identical digest) and one-way (it is computationally infeasible to reverse or reconstruct the original input from the digest alone).
Supported Hashing Algorithms
- SHA-256 (Secure Hash Algorithm 256-bit): Part of the SHA-2 family designed by the NSA. SHA-256 is the modern industry standard for digital certificates, SSL/TLS, Git revisions, and blockchain verification.
- SHA-512: A higher-security member of the SHA-2 family producing a 512-bit digest, frequently utilized in high-security applications and 64-bit architectures.
- SHA-384: A truncated 384-bit version of SHA-512 offering high collision resistance.
- SHA-1: A legacy 160-bit algorithm. Note: SHA-1 is cryptographically broken and prone to collision attacks; it is provided here exclusively for legacy checksum verification.
Common Practical Use Cases
- File Integrity & Checksums: Comparing downloaded file digests against official checksums to verify files have not been corrupted or tampered with.
- Data Deduplication: Indexing large datasets by hash to quickly identify duplicates without comparing raw payloads.
- Digital Signatures: Hashing document contents prior to signing with asymmetric public/private keys.
Password Storage Warning
Do not use raw SHA-256 or SHA-512 for password storage. General-purpose hashes are engineered for high throughput, which makes them susceptible to brute-force and GPU dictionary attacks. Always use dedicated, memory-hard key derivation functions such as Argon2id, bcrypt, or PBKDF2 for password hashing.