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