The error message is clear : the code doesn't compile (Unresolved compilation problem) because you're not handling the checked exception NoSuchAlgorithmException that can be thrown by MessageDigest.getInstance().
Either add this exception to the throws clause of the main method, or catch it:
public static void main(String[] args) throws NoSuchAlgorithmException {
...
}
or
public static void main(String[] args) {
try {
...
}
catch (NoSuchAlgorithmException e) {
System.err.println("I'm sorry, but MD5 is not a valid message digest algorithm");
}
}
Note that this is a compilation error. You chose to launch your program despite the presence of compilation errors (visible in the "Problems" view of Eclipse), and despite the fact that Eclipse waed you about that before launching the program. So you tried executing code which doesn't compile, which you shouldn't do.
EDIT: fixed the typo in the code in NoSuchAlgorithmException
They should overload the getInstance(String) method, not to throw the Exceptions for the algorithms that are required to be implemented among all Java Implementations (such as MD5 and SHA-1) to avoid this uecessary exception handling.