Strumento online di crittografia MD5
suStrumento online di crittografia MD5:
Questo strumento online di crittografia MD5 consente di crittografare una stringa di input in una stringa MD5 fissa a 128 bit.
Perché hai bisogno di MD5?
Un algoritmo hash come MD5 è un algoritmo unidirezionale, il che significa che è irreversibile.Questo personaggio rende MD5 molto utile per creare "impronte digitali" su un file.Il valore MD5 del file può dimostrare che il file non è stato modificato. Utilizzato per la protezione della password. Il "sale" memorizzato nel database del sito Web e il valore finale della password originale sono irreversibili, il che significa che anche se il database è compromesso, l'hacker non sarà in grado di recuperare la password.
MD5 è sicuro, dovrei continuare a usarlo?
Il primo tipo di attacco è chiamato (rainbow tables)
: è un database molto grande, inclusa una breve stringa con il valore MD5 corrispondente. Ad esempio, quando si guarda la tabella dell'arcobaleno "FC5E038D38A57032085441E7FE7010B0"
, è possibile trovare il suo originale La stringa è "helloworld" .Se la stringa originale è breve, la tabella arcobaleno può decodificare correttamente MD5.
Il secondo attacco è basato sull'algoritmo di base di MD5: negli ultimi anni sempre più siti Web sono passati a SHA256 o SHA512, tuttavia molti siti Web utilizzano ancora MD5, che ha lasciato un enorme pericolo nascosto alla sicurezza di Internet.
Altri collegamenti a MD5:
RFC 1321: https://www.ietf.org/rfc/rfc1321.txt
MD5 in Python (hashlib): https://docs.python.org/3/library/hashlib.html
MD5 in Java: https://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html
MD5 in PHP: http://php.net/manual/en/function.md5.php
Calcola l'hash MD5 di una stringa in Python (con pacchetto hashlib):
import hashlib def md5_generator(str): m = hashlib.md5() m.update(str.encode()) return m.hexdigest()
Calcola l'hash MD5 di una stringa in Java (con il pacchetto MessageDigest):
import java.math.BigInteger; import java.security.MessageDigest; public String generate(String str){ MessageDigest md = MessageDigest.getInstance("MD5"); md.update(str.getBytes()); byte[] digest = md.digest(); String result = new BigInteger(1, digest).toString(16).toUpperCase(); return result; }
Calcola l'hash MD5 di un file in Linux (con OpenSSL):
root@instance-1:/var/log/apache2# openssl dgst -md5 access.log MD5(access.log)= 742f23518e684f3562ffc9f983f190ba