Hash Generator - MD5, SHA-256, SHA-512
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes from text or files. HMAC support, multiple output formats, 100% client-side.
Want to learn more?
Understand MD5, SHA, and other hash algorithms for data integrity and security.
Read the guideGenerate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text or file, right in your browser. This free hash generator runs entirely client-side using the Web Crypto API, so your data is never uploaded. Compute multiple algorithms at once, produce keyed HMAC digests, switch between lowercase, uppercase, and Base64 output, compare a hash against an expected value, and — for files — check the SHA-256 against VirusTotal's known-malware database before you run anything.
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text or file, right in your browser. This free hash generator runs entirely client-side using the Web Crypto API, so your data is never uploaded. Compute multiple algorithms at once, produce keyed HMAC digests, switch between lowercase, uppercase, and Base64 output, compare a hash against an expected value, and — for files — check the SHA-256 against VirusTotal's known-malware database before you run anything.
Securing Your Application Data?
Our DevSecOps team implements proper hashing, encryption, and data protection in your applications.
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 Hashes Online
This free hash generator turns any text or file into a fixed-length cryptographic hash using the browser's native Web Crypto API. Every calculation runs 100% client-side — your input never leaves your device, nothing is uploaded to a server, and no copy of your data is stored. That makes it safe for hashing sensitive strings, config secrets, or local files you would not want to transmit. You can compute several algorithms at once, switch between lowercase, uppercase, and Base64 output, and generate keyed HMAC digests when you need authentication rather than a plain checksum.
Which Hash Should I Use?
Not all hash algorithms are appropriate for the same job. The short version: MD5 and SHA-1 are cryptographically broken and must not be used where collision resistance matters; SHA-256 and SHA-512 are the current recommended defaults.
| Algorithm | Output size | Status | Use it for |
|---|---|---|---|
| MD5 | 128-bit | Broken — practical collision attacks since 2004 | Non-security checksums, legacy interop, ETags, cache keys |
| SHA-1 | 160-bit | Broken — SHAttered collision demonstrated in 2017 | Legacy git object IDs, deprecated TLS; avoid for anything new |
| SHA-256 | 256-bit | Recommended | File integrity, digital signatures, blockchain, SRI, certificates |
| SHA-384 | 384-bit | Recommended | Higher-assurance signatures, TLS 1.3 cipher suites |
| SHA-512 | 512-bit | Recommended | Large-file integrity, high-security signing; often faster than SHA-256 on 64-bit CPUs |
A collision is when two different inputs produce the same hash. For MD5 and SHA-1, attackers can now manufacture collisions on purpose, which is why they fail for signatures, certificates, or anything an adversary might tamper with. They are still fine as fast, non-adversarial checksums (deduplication, cache keys, verifying an accidental — not malicious — file change).
Important: hashing is not password storage
A raw MD5/SHA-256 digest of a password is not secure password storage, no matter which algorithm you pick — general-purpose hashes are designed to be fast, which is exactly what helps an attacker brute-force them. Password storage needs a deliberately slow, salted, memory-hard function such as bcrypt, scrypt, or Argon2. This tool intentionally does not offer those; use it for integrity and signing, not for hashing user passwords.
HMAC: Hashing With a Secret Key
A plain hash answers "did this data change?" An HMAC (Hash-based Message Authentication Code) answers "did this data change and did it come from someone who knows the shared secret?" Enable HMAC mode and supply a secret key, and the tool produces a keyed digest (e.g. HMAC-SHA-256) that cannot be recomputed by anyone who does not hold the key. HMAC is what signs API requests (AWS Signature, webhook signatures), validates JWTs, and protects message integrity on the wire. For a plain checksum you do not need a key; for authentication you do.
Salting Explained
A salt is a unique random value added to each input before hashing so that identical inputs produce different digests. Salting defeats precomputed rainbow tables and stops an attacker from seeing that two records share the same value. Salting is essential for password hashing (handled by bcrypt/scrypt/Argon2, which salt automatically) — but it is generally not wanted for file or content integrity, where you specifically need the same file to always produce the same hash so it can be compared across systems.
Text vs. File Hashing
- Text mode hashes the exact UTF-8 bytes you type or paste — handy for verifying API payloads, generating SRI values for inline snippets, or quick "text to hash" conversions.
- File mode reads the file locally and streams it through the Web Crypto API, so even large files are hashed without uploading them. File mode is how you confirm a download matches the publisher's posted checksum, or fingerprint a file for record-keeping.
Built-in malware-hash check (VirusTotal)
When you hash a file, the tool can take the resulting SHA-256 and check it against VirusTotal's malware-hash intelligence — letting you see whether a binary's fingerprint is already known-bad before you run it. Only the hash is sent for the lookup, never the file itself, so the client-side privacy guarantee holds. Commodity "hash a string" sites do not offer this; it is one of the page's real differentiators alongside the no-upload design.
How To Use This Tool
- Choose Text or File input.
- Select one or more algorithms — you can generate all hashes at once by selecting MD5, SHA-1, SHA-256, SHA-384, and SHA-512 together.
- (Optional) Toggle HMAC and enter a secret key for a keyed digest.
- Read the results, switch output format (lowercase / uppercase / Base64), and copy. Use the comparison panel to check a hash against an expected value, or the identifier to detect which algorithm an unknown hash came from.
Learn More
Understanding Cryptographic Hash Functions
What Are Hash Functions?
Cryptographic hash functions are mathematical algorithms that convert input data of any size into a fixed-size string of characters, called a hash or digest. These functions are fundamental to modern cybersecurity and are used in:
- Password storage - Storing password hashes instead of plaintext
- Data integrity verification - Ensuring files haven't been modified
- Digital signatures - Authenticating documents and software
- Blockchain technology - Securing cryptocurrency transactions
- Malware identification - Creating unique fingerprints for malicious files
Key Properties
- Deterministic - Same input always produces the same hash
- Fast computation - Hashes can be calculated quickly
- Pre-image resistance - Cannot reverse a hash to get the original input
- Avalanche effect - Small input changes produce drastically different hashes
- Collision resistance - Extremely difficult to find two inputs with the same hash
These properties make hash functions essential security tools, but different algorithms provide varying levels of security and performance.
Hash Algorithms: Security Comparison
Choosing the Right Algorithm
Deprecated (Do Not Use for Security)
MD5 (128-bit)
- ❌ Cryptographically broken since 2004
- ❌ Vulnerable to collision attacks
- ✅ Still acceptable for non-security checksums
- Common use: Legacy file verification only
SHA-1 (160-bit)
- ❌ Deprecated by NIST in 2017
- ❌ Practical collision attacks demonstrated by Google (2017)
- ❌ Not acceptable for certificates, signatures, or security
- Common use: Git commits (non-security context)
Secure General-Purpose Algorithms
SHA-256 (256-bit)
- ✅ Current industry standard
- ✅ Used in Bitcoin, TLS certificates, code signing
- ✅ No known practical attacks
- ✅ Excellent balance of security and performance
- Recommended for: File integrity, digital signatures, general cryptographic use
SHA-512 (512-bit)
- ✅ Higher security margin than SHA-256
- ✅ Faster on 64-bit systems
- ✅ Slower on 32-bit systems
- Recommended for: High-security applications, long-term data protection
SHA-3 (256-bit)
- ✅ Alternative to SHA-2 with different internal design
- ✅ NIST standard since 2015
- ✅ Future-proofing against SHA-2 weaknesses
- Recommended for: New applications wanting alternative to SHA-2
Password Hashing (Specialized Algorithms)
bcrypt
- ✅ Industry standard for password storage
- ✅ Adjustable work factor (adaptive)
- ✅ Built-in salt generation
- ✅ Resistant to GPU/ASIC attacks
- Recommended for: Web application passwords, user authentication
scrypt
- ✅ Memory-hard function
- ✅ Resistant to hardware attacks
- ✅ Higher resource requirements than bcrypt
- Recommended for: High-security password storage, cryptocurrency wallets
Never use general-purpose hash functions (MD5, SHA-256) for password storage - always use specialized password hashing algorithms with proper salting and work factors.
Malware Analysis with File Hashing
Using Hashes for Malware Detection
File hashing is a cornerstone of malware analysis and incident response. Security researchers and analysts use cryptographic hashes to:
1. Malware Identification
Every malware sample has a unique hash fingerprint (unless it's polymorphic). When you hash a suspicious file, you can:
- Check against threat databases - Compare the hash to millions of known malware signatures
- Share threat intelligence - Researchers use hashes to communicate about specific samples
- Track malware families - Related malware variants can be linked through hash analysis
- Automate detection - Security tools scan filesystems for known malicious hashes
2. Threat Intelligence Databases
Several free services accept file hashes for malware lookup:
VirusTotal
- Scans files against 70+ antivirus engines
- Provides detailed analysis reports
- Shows detection names from different vendors
- Includes community comments and file metadata
- API available for automation
MalwareBazaar (abuse.ch)
- Curated database of recent malware samples
- Focuses on current threats
- Provides malware family classification
- Free API for bulk lookups
- Includes C2 server indicators
Hybrid Analysis
- Advanced sandbox analysis
- Behavior and network traffic analysis
- Registry and file system modifications
- Screenshots of malware execution
- YARA rule matching
3. Best Practices for Hash-Based Detection
Use Multiple Algorithms
- MD5 and SHA-1 are still used in malware databases for historical compatibility
- SHA-256 is the current standard and should always be included
- Submit all three hashes when checking threat intelligence
Understand Limitations
- Hash-based detection only works for known malware
- Polymorphic malware changes its hash with each infection
- Packers and obfuscation defeat simple hash matching
- Zero detections doesn't guarantee a file is safe
Combine with Behavior Analysis
- Hash matching should be part of layered security
- Sandbox analysis detects unknown threats
- Behavioral monitoring catches evasive malware
- Machine learning identifies suspicious patterns
Privacy Considerations
- Never upload sensitive files to public services
- Use hash-only lookups when possible
- Consider on-premises threat intelligence platforms for sensitive data
- Some services retain uploaded files indefinitely
4. Incident Response Workflow
When investigating a suspicious file:
- Isolate the system - Prevent potential malware spread
- Hash the file - Calculate MD5, SHA-1, and SHA-256
- Check threat databases - Use VirusTotal and MalwareBazaar
- Analyze results - High detection rate indicates known malware
- Research indicators - Look for file metadata, C2 servers, IOCs
- Document findings - Create incident report with hash values
- Update defenses - Add hashes to blocklists and EDR rules
Hash-based detection remains an essential tool for security teams, but it must be combined with modern techniques like behavioral analysis and machine learning to catch evolving threats.
HMAC: Message Authentication
What is HMAC?
HMAC (Hash-based Message Authentication Code) combines a cryptographic hash function with a secret key to provide both data integrity and authentication.
How HMAC Differs from Regular Hashing
Regular Hash
- Anyone can compute the hash
- Verifies data integrity only
- Cannot prove who created it
- Example: SHA-256(message)
HMAC
- Requires secret key to compute
- Verifies integrity AND authenticity
- Proves sender knows the secret key
- Example: HMAC-SHA256(message, secret)
Common Use Cases
API Authentication
- AWS signatures use HMAC-SHA256
- Webhook verification (Stripe, GitHub)
- Request signing to prevent replay attacks
Cookie Integrity
- Web frameworks use HMAC to prevent cookie tampering
- Ensures session data hasn't been modified by clients
Message Authentication
- Email authentication (DKIM)
- VPN and encrypted communications
- Challenge-response protocols
Security Considerations
- Both parties must securely share the secret key
- Use strong hash functions (SHA-256 or better)
- Never use HMAC-MD5 or HMAC-SHA1 for new applications
- Rotate keys periodically for high-security applications
- Use constant-time comparison to prevent timing attacks
HMAC is not suitable for password hashing - use bcrypt, scrypt, or Argon2 instead.
References & Citations
- National Institute of Standards and Technology. (2015). NIST FIPS 180-4: Secure Hash Standard. Retrieved from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf (accessed January 2025)
- R. Rivest. (1992). RFC 1321: The MD5 Message-Digest Algorithm. Internet Engineering Task Force. Retrieved from https://www.rfc-editor.org/rfc/rfc1321 (accessed January 2025)
- H. Krawczyk, M. Bellare, R. Canetti. (1997). RFC 2104: HMAC: Keyed-Hashing for Message Authentication. Internet Engineering Task Force. Retrieved from https://www.rfc-editor.org/rfc/rfc2104 (accessed January 2025)
- Marc Stevens et al.. (2017). The First Collision for Full SHA-1. Google Research. Retrieved from https://shattered.io/ (accessed January 2025)
Note: These citations are provided for informational and educational purposes. Always verify information with the original sources and consult with qualified professionals for specific advice related to your situation.
Frequently Asked Questions
Common questions about the Hash Generator - MD5, SHA-256, SHA-512
A cryptographic hash function is a mathematical algorithm that takes input data of any size and produces a fixed-size output (the hash or digest). Key properties include: (1) Deterministic - the same input always produces the same hash, (2) Fast computation - hashes can be generated quickly, (3) Pre-image resistance - it's computationally infeasible to reverse the hash to get the original input, (4) Small changes in input produce drastically different hashes (avalanche effect), and (5) Collision resistance - it's extremely difficult to find two different inputs that produce the same hash. These properties make hash functions essential for data integrity verification, password storage, digital signatures, and blockchain technology.
These hash functions differ in security and output size: MD5 (128-bit/32 hex chars) - Fast but cryptographically broken since 2004. Never use for security. Only acceptable for non-security checksums. SHA-1 (160-bit/40 hex chars) - Deprecated since 2017 due to collision attacks. Google demonstrated practical collisions. SHA-256 (256-bit/64 hex chars) - Part of SHA-2 family. Current industry standard. Used in Bitcoin, TLS certificates, and most modern applications. SHA-512 (512-bit/128 hex chars) - More secure than SHA-256 with larger output. Slower on 32-bit systems but faster on 64-bit systems. Use SHA-256 or SHA-512 for all security-sensitive applications. Avoid MD5 and SHA-1 unless required for legacy compatibility.
Absolutely not! Never use MD5 or SHA-1 for password hashing - this is a critical security mistake. Both are cryptographically broken and vulnerable to collision attacks and rainbow table lookups. For password hashing, you MUST use specialized password hashing algorithms designed to be slow and resistant to brute force attacks: bcrypt - Industry standard, adjustable work factor, resistant to GPU attacks. scrypt - Memory-hard function, resistant to hardware attacks. Argon2 - Modern winner of Password Hashing Competition, best overall security. PBKDF2-HMAC-SHA256 - Acceptable alternative, widely supported. These algorithms include automatic salting and configurable computational cost to slow down brute force attacks. General-purpose hash functions like MD5/SHA-1/SHA-256 are designed to be fast, which makes them terrible for passwords.
HMAC (Hash-based Message Authentication Code) combines a cryptographic hash function with a secret key to provide both data integrity and authentication. Unlike regular hashing, HMAC proves that: (1) The message hasn't been tampered with (integrity), and (2) The message came from someone who knows the secret key (authenticity). HMAC works by hashing the message twice with the key incorporated. Use cases include: API request signing (AWS, webhooks), JWT signatures, Cookie integrity verification, Message authentication in encrypted communications, and Challenge-response authentication. HMAC prevents tampering even if the attacker can see the message. Common implementations: HMAC-SHA256 (most popular), HMAC-SHA512 (more secure), HMAC-MD5 (legacy only). Both sender and receiver must share the same secret key.
Hash verification ensures files haven't been corrupted or tampered with during download: (1) Obtain the official hash - Software publishers provide SHA-256 hashes on their download pages, (2) Generate hash of your downloaded file - Use this tool or command-line tools (sha256sum, certutil), (3) Compare hashes - They must match exactly. Even one character difference means corruption or tampering. This protects against: Incomplete downloads, File corruption during transfer, Man-in-the-middle attacks, Malware injection, and Compromised download mirrors. Always download the hash from an official source (HTTPS, PGP-signed). SHA-256 is standard for file verification. Linux ISO images, Windows updates, and software downloads commonly provide SHA-256 checksums. Never trust a hash provided by the same untrusted source as the file.
Rainbow tables are pre-computed databases of password hashes used to crack passwords instantly. Instead of trying millions of password guesses, attackers look up the hash in the rainbow table to find the original password. Example: Hash "password123" with MD5 → lookup MD5 hash in rainbow table → instantly recover password. Salts prevent rainbow tables by adding unique random data to each password before hashing. With salts: (1) Each password has a different hash even if passwords are identical, (2) Attackers must compute hashes for every possible password+salt combination, (3) Rainbow tables become useless because the salt space is too large. Modern password hashing algorithms (bcrypt, scrypt, Argon2) include automatic salting. This is why you must use proper password hashing - never plain SHA-256 or MD5, which are vulnerable to rainbow table attacks even without salts.
No - cryptographic hash functions are designed to be one-way (pre-image resistant). You cannot mathematically reverse SHA-256 hash back to the original input. However, attackers can attempt: Brute force - Try all possible inputs until finding a match (extremely slow for strong passwords with proper hashing). Dictionary attacks - Try common passwords and phrases (very effective against weak passwords). Rainbow tables - Look up pre-computed hashes (defeated by salts). Collision attacks - Find any input that produces the same hash (doesn't recover original input, but can bypass integrity checks). This is why weak passwords are vulnerable even with strong hashing - attackers don't reverse the hash, they try common passwords until they find a match. Strong passwords (16+ characters, mixed types) make brute force attacks computationally infeasible even with fast hash functions.
SHA-3 is the latest cryptographic hash function standardized by NIST in 2015, designed as an alternative to SHA-2, not a replacement. Key differences: SHA-2 (SHA-256, SHA-512) - Based on Merkle-Damgård construction, battle-tested since 2001, industry standard, supported everywhere. SHA-3 - Based on Keccak sponge construction, different internal design, provides similar security level, less widespread adoption. Should you use SHA-3? Currently, stick with SHA-256/SHA-512 unless you have specific requirements. SHA-2 remains secure with no practical attacks. SHA-3 provides: Alternative construction if SHA-2 is compromised, Potential performance benefits in hardware, Different security properties for specialized applications. Use SHA-256 for general purposes. SHA-3 is future-proofing but offers no immediate security benefit over SHA-256. Both are quantum-resistant against current quantum computers.
To check if a file is potentially malicious using its hash: (1) Generate the file hash - Use this tool to calculate MD5, SHA-1, and SHA-256 hashes of the suspicious file. (2) Check threat intelligence databases - Use the provided links to VirusTotal (70+ antivirus engines), MalwareBazaar (malware sample database), or Hybrid Analysis (advanced analysis). (3) Interpret results - VirusTotal shows detection rates (e.g., "15/70" means 15 engines flagged it). Zero detections doesn't guarantee safety - new malware may not be detected yet. High detection rates indicate known malware. (4) Consider context - Legitimate software sometimes triggers false positives. Verify from official sources. Important: MD5 and SHA-1 are deprecated for security but still widely used in malware databases for historical compatibility. SHA-256 is the current standard. Always download threat intelligence from trusted sources (VirusTotal, abuse.ch, NIST). Never upload sensitive files to public services.
Malware hash databases are repositories that catalog known malicious files by their cryptographic hashes. How they work: (1) Sample collection - Security researchers and automated systems collect malware samples from attacks, honeypots, and user submissions. (2) Hash generation - Each malware sample is hashed (typically MD5, SHA-1, SHA-256). (3) Database storage - Hashes are stored with metadata: malware family, detection date, IOCs, behavior analysis. (4) Hash matching - Security tools compare file hashes against the database for instant identification. Major databases: VirusTotal - Community-driven, 70+ AV engines, public API. MalwareBazaar (abuse.ch) - Curated malware samples, free access. NIST NSRL - Known software hashes (helps identify legitimate files). Hybrid Analysis - Automated sandbox analysis with hash lookup. AlienVault OTX - Threat intelligence sharing platform. Hash-based detection is extremely fast but only catches known malware. New malware variants require behavior-based detection until hashes are cataloged.
File hashes are fundamental to malware analysis and threat intelligence for several reasons: Unique identification - Each malware sample has a unique hash fingerprint. Even tiny code changes produce completely different hashes (avalanche effect). Fast comparison - Checking a hash against millions of known malware signatures takes milliseconds. Comparing entire files would be impractical. Compact storage - A 64-character SHA-256 hash represents a multi-gigabyte file, enabling efficient threat intelligence sharing. Immutable evidence - Hashes provide cryptographic proof that samples are identical across different systems and researchers. Incident response - SOC teams can quickly identify compromised systems by scanning for known malware hashes. Threat hunting - Endpoint detection tools continuously compute file hashes and check against threat feeds. Challenges: Polymorphic malware - Malware that changes itself slightly with each infection produces different hashes. Packing/obfuscation - Attackers wrap malware in cryptographic layers to change hashes. Hash collision attacks - Theoretical but possible with deprecated algorithms like MD5. Modern malware analysis combines hash-based detection with behavior analysis, machine learning, and sandbox testing.
Yes, sophisticated attackers can evade hash-based detection through several techniques: Polymorphism - Malware changes its code with each infection while maintaining functionality. Each variant has a different hash. Examples: Encrypted payloads with variable keys, Code reordering and junk code insertion, Variable compression algorithms. Packing/Obfuscation - Wrapping malware in cryptographic layers: UPX/Themida/VMProtect packers change file structure, Custom encryption makes every sample unique, Anti-debugging and anti-VM techniques. Living-off-the-land - Using legitimate system tools (PowerShell, WMI, certutil) leaves no malicious files to hash. Fileless malware - Operates entirely in memory with no persistent files. Metamorphism - Complete code rewriting with each generation. Hash collision attacks - Crafting malicious files with same hash as legitimate files (only practical with MD5/SHA-1). Defense strategies: Behavior-based detection (sandboxing, heuristics), Machine learning anomaly detection, Endpoint detection and response (EDR), Network traffic analysis, Memory forensics, Fuzzy hashing (ssdeep) to catch similar but not identical files. Hash-based detection remains valuable for known threats, but modern security requires layered defenses.
You cannot convert an MD5 hash into a SHA-256 hash — a hash is a one-way function, so the original input is not recoverable from an MD5 digest, and there is no formula that maps one digest to another. What "md5 to sha256" actually means is re-hashing the original input with SHA-256. Paste your original text (or load the original file) into this tool, select SHA-256, and it computes the SHA-256 digest directly. If all you have is the MD5 value and not the source data, conversion is impossible. This matters for migrations: when moving a system off broken MD5, you must re-hash the real source data with SHA-256, not transform the stored MD5 values.
Yes. Select multiple algorithms in the algorithm picker — MD5, SHA-1, SHA-256, SHA-384, and SHA-512 — and the tool computes every selected digest from the same input in a single pass and displays them side by side. This is useful when a download page lists a checksum but does not say which algorithm it used, when you need both a legacy MD5 and a modern SHA-256 for compatibility, or when you are comparing algorithm output lengths. All of the digests are generated locally in your browser, so generating five hashes at once is just as private as generating one.
Switch to Text mode, type or paste your string into the input box, and choose an algorithm — the hash is generated instantly as you type, with no button to press and nothing sent to a server. The tool hashes the exact UTF-8 bytes of your text, so "hello" and "Hello" produce completely different digests. You can copy the result in lowercase, uppercase, or Base64. For a keyed text-to-hash conversion (for example, signing an API payload), enable HMAC mode and add your secret key. This is the fastest way to turn any string into an MD5, SHA-256, or SHA-512 value.
They are the same thing — "hash generator," "hash value generator," and "checksum generator" all describe a tool that takes input data and produces its hash (the hash value). This tool generates hash values for text and files using MD5, SHA-1, SHA-256, SHA-384, and SHA-512, plus keyed HMAC variants. The "value" simply refers to the fixed-length output string, such as the 64-character hex string a SHA-256 produces. If instead you have an existing hash and want to look up what file it belongs to (for example, checking a malware sample), that is a hash lookup, which is a different operation.
⚠️ Security Notice
This tool is provided for educational and authorized security testing purposes only. Always ensure you have proper authorization before testing any systems or networks you do not own. Unauthorized access or security testing may be illegal in your jurisdiction. All processing happens client-side in your browser - no data is sent to our servers.