Genera hashes MD5 al instant amb la nostra eina basada en web. Introdueix text o enganxa contingut per calcular el seu hash MD5. Característiques de processament al costat del client per a la privadesa, resultats instantanis i funcionalitat fàcil de copiar al porta-retalls. Ideal per a comprovacions d'integritat de dades, verificació de fitxers i propòsits criptogràfics generals.
El generador de hash MD5 (algorisme de resum de missatge 5) és una eina senzilla basada en web que permet als usuaris calcular ràpidament el hash MD5 de qualsevol text d'entrada. MD5 és una funció de hash criptogràfica àmpliament utilitzada que produeix un valor de hash de 128 bits (16 bytes), que normalment s'expressa com un número hexadecimal de 32 dígits. Aquesta eina proporciona una interfície amigable per generar hashes MD5, que poden ser útils per a diverses aplicacions com la comprovació de la integritat de dades, el hash de contrasenyes (encara que no es recomana per a aplicacions crítiques de seguretat) i la verificació de fitxers.
MD5 és una funció unidireccional que pren una entrada (o "missatge") de longitud arbitrària i produeix un valor de hash de mida fixa de 128 bits. L'algorisme funciona de la següent manera:
El hash resultant té diverses propietats importants:
El nostre generador de hash MD5 basat en web proporciona una interfície senzilla:
Per utilitzar el generador:
Aquest generador de hash MD5 s'implementa totalment en JavaScript i funciona al costat del client al vostre navegador web. Aquest enfocament ofereix diversos avantatges:
L'implementació utilitza l'API Web Crypto, que proporciona funcionalitat criptogràfica als navegadors web moderns:
1async function generateMD5Hash(input) {
2 const encoder = new TextEncoder();
3 const data = encoder.encode(input);
4 const hashBuffer = await crypto.subtle.digest('MD5', data);
5 const hashArray = Array.from(new Uint8Array(hashBuffer));
6 const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
7 return hashHex;
8}
9
El hash MD5 té diverses aplicacions, incloent:
Tanmateix, és important assenyalar que MD5 ja no es considera criptogràficament segur i no s'hauria d'utilitzar per a aplicacions crítiques de seguretat com l'emmagatzematge de contrasenyes o certificats SSL.
MD5 va ser dissenyat per Ronald Rivest el 1991 per substituir una funció de hash anterior, MD4. L'algorisme es va implementar com a Implementació de Referència a l'RFC 1321, publicat per l'Internet Engineering Task Force (IETF) el 1992.
Inicialment, MD5 es va utilitzar àmpliament en diverses aplicacions de seguretat i per comprovar la integritat de fitxers. No obstant això, amb el temps, es van descobrir diverses vulnerabilitats:
A causa d'aquestes vulnerabilitats, MD5 ja no es recomana per a l'ús en aplicacions crítiques de seguretat. Moltes organitzacions i estàndards han eliminat MD5 a favor d'alternatives més segures.
Aquí hi ha exemples de com generar hashes MD5 en diversos llenguatges de programació:
1import hashlib
2
3def md5_hash(text):
4 return hashlib.md5(text.encode()).hexdigest()
5
6# Exemple d'ús
7input_text = "Hola, món!"
8hash_result = md5_hash(input_text)
9print(f"Hash MD5 de '{input_text}': {hash_result}")
10
1async function md5Hash(text) {
2 const encoder = new TextEncoder();
3 const data = encoder.encode(text);
4 const hashBuffer = await crypto.subtle.digest('MD5', data);
5 const hashArray = Array.from(new Uint8Array(hashBuffer));
6 return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
7}
8
9// Exemple d'ús
10const inputText = "Hola, món!";
11md5Hash(inputText).then(hash => {
12 console.log(`Hash MD5 de '${inputText}': ${hash}`);
13});
14
1import java.security.MessageDigest;
2import java.nio.charset.StandardCharsets;
3
4public class MD5Example {
5 public static String md5Hash(String text) throws Exception {
6 MessageDigest md = MessageDigest.getInstance("MD5");
7 byte[] hashBytes = md.digest(text.getBytes(StandardCharsets.UTF_8));
8
9 StringBuilder hexString = new StringBuilder();
10 for (byte b : hashBytes) {
11 String hex = Integer.toHexString(0xff & b);
12 if (hex.length() == 1) hexString.append('0');
13 hexString.append(hex);
14 }
15 return hexString.toString();
16 }
17
18 public static void main(String[] args) {
19 try {
20 String inputText = "Hola, món!";
21 String hashResult = md5Hash(inputText);
22 System.out.println("Hash MD5 de '" + inputText + "': " + hashResult);
23 } catch (Exception e) {
24 e.printStackTrace();
25 }
26 }
27}
28
Si bé MD5 encara s'utilitza en contextos no criptogràfics, és crucial entendre les seves limitacions:
A causa d'aquests problemes, MD5 no s'hauria d'utilitzar per a:
Per a aplicacions que requereixen hashing segur, considereu aquestes alternatives:
Descobreix més eines que podrien ser útils per al teu flux de treball