Hash Generator
Generate MD5, SHA-1, SHA-256, SHA-512 hashes instantly.
100% client-side. Your data never leaves your browser.
-
-
-
-
-
Algorithm Reference
| Algorithm | Output Length | Notes |
|---|---|---|
| MD5 | 128-bit (32 hex) | Fast but cryptographically broken, use for checksums only |
| SHA-1 | 160-bit (40 hex) | Deprecated for security, still used for git commits |
| SHA-256 | 256-bit (64 hex) | Recommended for most security applications |
| SHA-384 | 384-bit (96 hex) | Truncated SHA-512, good balance of security/speed |
| SHA-512 | 512-bit (128 hex) | Maximum security, slightly slower |
In Laravel
Do not store passwords with any hash on this page. MD5 and the SHA family are fast, and speed helps an attacker who tries billions of guesses. Laravel's Hash facade uses bcrypt by default, with Argon2 as an option. Both are slow on purpose and add a random salt.
use Illuminate\Support\Facades\Hash;
$user->password = Hash::make($request->password);
if (Hash::check($request->password, $user->password)) {
// The password is correct
}
The fast hashes are right for checksums and signatures. SHA-256 of a file finds duplicate uploads, and an HMAC proves that a webhook came from the sender that knows the secret:
$checksum = hash_file('sha256', $request->file('invoice')->path());
$expected = hash_hmac('sha256', $request->getContent(), config('services.shop.webhook_secret'));
// hash_equals() compares in constant time, so timing does not leak the signature
abort_unless(hash_equals($expected, (string) $request->header('X-Signature')), 403);
Laravel 13.x docs: Hashing, File uploads
Multiple Algorithms
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes simultaneously from a single input.
Client-Side
All hashing happens in your browser. Your data never leaves your computer.
File Hashing
Hash files of any type. Drag and drop or browse to verify file integrity with checksums.
Related Tools
Need something custom built?
I build custom Laravel tools, web apps, and SaaS platforms. If you need something beyond off-the-shelf, let's talk.
ContactFrequently Asked Questions
Does Laravel's hashName() hash the file contents?
No. $request->file('photo')->hashName() returns 40 random characters plus the file extension. It does not read the file, so two uploads of the same file get different names. To find duplicates, store hash_file('sha256', $path) next to the file and compare that.
Is MD5 still safe to use?
Not for anything an attacker can influence. Researchers produced MD5 collisions in 2004, and the first public SHA-1 collision followed in 2017. MD5 still detects accidental corruption, for example in a cache key or a download check you control. For signatures, tokens and anything else security-related, use SHA-256 or stronger.
Why does my terminal give a different hash for the same text?
The input is not the same. echo "hello" | sha256sum hashes "hello" plus a newline character. Use printf '%s' 'hello' | sha256sum to hash only the text. Spaces at the end of a line and Windows line endings change the hash too.