MD5 Encrypt Online Tool






About MD5 Encrypt Online Tool:

This pro online md5 encrypt tool helps you to encrypt one input string into a fixed 128 bits md5 String.

Paste your Input String or drag text file in the first textbox, then press "MD5 Encrypt" button, and the result will be displayed in the second textbox.

comic md5 encrypt

Why is MD5 useful?

Hash algorithm such as MD5 is a one-direction algorithm, which means it's not reversable. This character makes MD5 very useful in making "fingerprint" on a file, MD5 value of a file can prove a file haven't been modified. Hash algorithm also used in password protection. Combine a "salt" and your original password, the final value stored in website database is not reversable, means hackers can't recover your password even if the database is leaked.

Is MD5 secure and should I keep using it?

The first attack is called "rainbow tables". It's a very large database include short simple string with corresponding MD5 value. For example, when you check the rainbow table for "FC5E038D38A57032085441E7FE7010B0", you can find its original string is "helloworld". Rainbow tables can successfully decrypt MD5 if the original string is short.

The second attack is based on MD5's fundamental algorithm, more and more website switched to SHA256 or SHA512 in recent years. Even though many websites are still using MD5, which leaves big potential catastrophe in Internet security.

More information about MD5:

RFC 1321: https://www.ietf.org/rfc/rfc1321.txt

Python Implementation of MD5 (hashlib): https://docs.python.org/3/library/hashlib.html

Java Implementation of MD5: https://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html

PHP Implementation of MD5: http://php.net/manual/en/function.md5.php

MD5 Generator with Python (with package hashlib):

import hashlib

def md5_generator(str):
    m = hashlib.md5()
    m.update(str.encode())
    return m.hexdigest()
    

MD5 Generator with Java (with package 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;
}
    

MD5 Generator with Linux (with OpenSSL):

[email protected]:/var/log/apache2# openssl dgst -md5 access.log
MD5(access.log)= 742f23518e684f3562ffc9f983f190ba