Kalkulator Hash MD5
Mulai menggunakan kalkulator hash MD5 untuk dengan mudah menghasilkan nilai hash MD5 untuk teks dan file, memastikan integritas dan keamanan data.
Apa itu MD5?
MD5 (Message Digest Algorithm 5) adalah fungsi hash kriptografis yang banyak digunakan, dirancang oleh Ronald Rivest pada tahun 1991. Ini dapat mengubah data dengan panjang arbitrer menjadi nilai hash dengan panjang tetap (128 bit, yaitu 16 byte).
Karakteristik MD5
- Output panjang tetap: Terlepas dari panjang data input, MD5 selalu menghasilkan output 128 bit (16 byte)
- Efek avalanche: Perubahan kecil pada input menyebabkan perubahan besar pada output
- Satu arah: Tidak mungkin untuk mendapatkan data asli dari nilai hash
- Ketahanan terhadap tabrakan: Secara teoritis sulit untuk menemukan dua input berbeda yang menghasilkan nilai hash yang sama
Skenario Aplikasi MD5
- Verifikasi integritas data: Memverifikasi apakah file telah dimodifikasi selama transmisi
- Penyimpanan kata sandi: Menyimpan nilai hash kata sandi pengguna (catatan: aplikasi modern merekomendasikan menggunakan algoritma yang lebih aman)
- Tanda tangan digital: Menjadi bagian dari algoritma tanda tangan digital
- Deduplikasi file: Mengidentifikasi file duplikat dengan cepat melalui nilai hash
Prinsip Algoritma MD5
Langkah-langkah Algoritma
- Padding: Mengisi data input hingga kelipatan 512 bit
- Inisialisasi: Mengatur empat register 32 bit (A, B, C, D)
- Loop utama: Melakukan empat putaran pemrosesan, 16 langkah per putaran
- Output: Menggabungkan nilai empat register untuk membentuk nilai hash 128 bit
Dasar Matematika
MD5 didasarkan pada operasi matematika berikut:
- Operasi modulo (mod 2^32)
- Operasi bit (AND, OR, XOR, NOT)
- Pergeseran kiri melingkar
- Fungsi non-linear (F, G, H, I)
Format Encoding
Format Encoding yang Didukung
- UTF-8: Format encoding Unicode yang paling umum digunakan
- ASCII: Encoding karakter 7 bit
- UTF-16: Encoding Unicode 16 bit
- UTF-32: Encoding Unicode 32 bit
- GBK: Format encoding bahasa Cina
- ISO-8859-1: Encoding bahasa Eropa Barat
Format Output
- Hexadecimal huruf kecil:
d41d8cd98f00b204e9800998ecf8427e
- Hexadecimal huruf besar:
D41D8CD98F00B204E9800998ECF8427E
- Base64:
1B2M2Y8AsgTpgAmY7PhCfg==
Update terakhir: 20 Januari 2024