我在互联网的某个地方得到了这个脚本,它应该做的是将文本加密到md5并显示结果(我认为)我是Java新手,只能做一些php和python。我设置了JDK,所以我可以在cmd中运行它。我输入的是> javac MD5.java然后它运行代码和C:\ file>再次出现就像什么都没发生一样。如果有人知道为什么,它不打印哈希?
import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
public static String getMD5(String input) {
byte[] source;
try {
//Get byte according by specified coding.
source = input.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
source = input.getBytes();
}
String result = null;
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(source);
//The result should be one 128 integer
byte temp[] = md.digest();
char str[] = new char[16 * 2];
int k = 0;
for (int i = 0; i < 16; i++) {
byte byte0 = temp[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
result = new String(str);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) throws NoSuchAlgorithmException {
System.out.println(getMD5("test"));
}
}
答案 0 :(得分:6)
javac MD5.java
编译代码。要运行应用程序,请使用
java MD5