Hash Generator
Hash text or files with SHA-256, SHA-384 and SHA-512 in your browser. Drop a file or paste a string — all digests update live with one-click copy.
Input
What is a cryptographic hash and when do you need one?
What this tool does
The Kitnax Hash Generator computes SHA-256, SHA-384, and SHA-512 digests from text you paste or files you drop into the workspace. A hash function takes input of any size and produces a fixed-length fingerprint — a long hexadecimal string that changes completely if even one byte of input changes. All three SHA variants update live as you type or after a file loads, so you can compare algorithms side by side and copy any digest with one click. Processing runs entirely in your browser through the Web Crypto API; nothing is uploaded to a server.
Why you need it
Developers reach for hashes constantly, but the use case determines which algorithm and workflow is appropriate. File integrity checks are the most common: compare a downloaded installer's SHA-256 against the publisher's published checksum before you run it. DevOps pipelines hash build artifacts to detect tampering between stages. During migrations you may need to confirm that SHA-384 or SHA-512 outputs match legacy tooling before switching libraries. Learning how SHA families differ in output length also helps when reading security documentation or debugging HMAC-based APIs. This tool is built for checksums, verification, and education — not for storing user passwords.
How to use it
- Paste text into the input area or use Upload file to hash binary data from disk.
- Watch SHA-256, SHA-384, and SHA-512 outputs update in the Hashes panel — all three run on the same source bytes.
- Check the source meta line to confirm whether input is UTF-8 text or a file name with byte size.
- Copy a single digest or use Copy all when you need every variant for documentation or comparison.
- Click Clear to reset input and outputs before switching to unrelated sensitive material.
Practical examples
- Verify a Linux ISO: hash the download locally and compare the SHA-256 hex string to the mirror's published checksum page.
- Cache busting: hash a config file during development to decide whether a CDN asset needs a new query string.
- API debugging: confirm that a JSON body produces the same digest your backend middleware expects before an HMAC step.
- Learning exercise: hash the same short string and observe how SHA-512 produces a longer hex output than SHA-256 while sharing similar security margins.
How it works
SHA (Secure Hash Algorithm) belongs to a family of one-way cryptographic hash functions standardized by NIST. SHA-256 outputs 256 bits (64 hex characters); SHA-384 and SHA-512 produce longer digests suited to environments that prefer wider hash widths. These algorithms are designed to be fast and collision-resistant for integrity use cases. They are deterministic: identical input bytes always yield identical output, which makes them ideal for checksums but dangerous for password storage on their own.
MD5 was once ubiquitous for file checksums but is deprecated for security-sensitive work because collision attacks are practical. Kitnax does not offer MD5 deliberately — if you encounter legacy MD5 checksums, treat them as compatibility hints only, not proof of integrity against a motivated attacker. For user passwords, never use raw SHA. Real applications apply a password-based key derivation function (KDF) such as bcrypt, scrypt, or Argon2, which adds salt and deliberately slow computation so offline guessing and rainbow-table lookups stay impractical. Rainbow tables are precomputed hash-to-password maps that defeat unsalted SHA hashes in seconds; a proper KDF makes building those tables cost-prohibitive per user.
Kitnax uses FileReader for local file access and SubtleCrypto for hashing. Your content never leaves the device during a session.
Common mistakes
- Using SHA-256 to "hash passwords" before storing them in a database — attackers with dumps can crack unsalted or fast hashes at scale.
- Assuming a matching checksum proves a file is safe — it only proves the bytes match what was hashed; always obtain expected hashes from a trusted source.
- Expecting MD5 support for new security workflows — migrate to SHA-256 or stronger for anything beyond legacy compatibility.
- Forgetting encoding: hashing the string "hello" as UTF-8 text differs from hashing raw file bytes; always note which source type you used when sharing digests.
FAQ
Which SHA should I use?
SHA-256 is the default for most integrity checks and is widely supported in CI scripts, package managers, and cloud storage APIs. SHA-384 and SHA-512 offer longer digests with similar security margins for new systems; choose one standard per project and stay consistent when comparing outputs across tools.
Can I hash passwords with this?
This tool applies raw SHA, not password hashing. Never store user passwords as plain SHA digests. Use bcrypt, Argon2, or scrypt in your application so each password gets a unique salt and expensive key stretching that defeats rainbow-table and brute-force attacks.
Are files uploaded?
No. FileReader reads file bytes locally and SubtleCrypto computes digests in your browser. Kitnax does not transmit file contents or text input to any server.
Why is MD5 not supported?
MD5 is deprecated for security-sensitive integrity checks because practical collision attacks exist. Kitnax focuses on SHA-256 and stronger variants. For legacy MD5 verification, use a dedicated offline tool and treat results as historical compatibility only.
Will the same input always hash the same?
Yes. SHA is deterministic — identical bytes produce identical hex output every time. That property is essential for checksums but is exactly why raw SHA must not replace proper password KDFs for user credentials.