Получить строку MD5 из дайджеста сообщений - PullRequest
30 голосов
/ 29 марта 2011

Я понимаю, как это работает, но если я хочу распечатать MD5 как String, как бы я это сделал?

public static void getMD5(String fileName) throws Exception{
    InputStream input =  new FileInputStream(fileName);
    byte[] buffer = new byte[1024];

    MessageDigest hash = MessageDigest.getInstance("MD5");
    int read;
    do {
        read = input.read(buffer);
        if (read > 0) {
            hash.update(buffer, 0, read);
        }
    } while (read != -1);
    input.close();
}

Ответы [ 11 ]

0 голосов
/ 29 марта 2011

Позвоните hash.digest(), чтобы завершить процесс. Он вернет массив байтов.

Вы можете создать String из byte[] с помощью конструктора String, однако, если вы хотите получить шестнадцатеричную строку, вам придется вручную перебирать массив байтов и обрабатывать символы.

...