MD5 пример использования в Java – Devcolibri – Android для начинающих

MD5 пример использования в Java

Вам нужно зашифровать пароль либо другие данные, в таком случае можно использовать MD5 шифрование.

MD5 (Message Digest 5) — 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом в 1991 году. Предназначен для создания «отпечатков» или дайджестов сообщения произвольной длины и последующей проверки их подлинности.

Для приведения примеров я создал класс MD5Util.java в котором реализую два метода генерации MD5.

Метод #1: Собственная реализация

Ниже приведен пример реализации:

public static String md5Custom(String st) {
    MessageDigest messageDigest = null;
    byte[] digest = new byte[0];

    try {
        messageDigest = MessageDigest.getInstance("MD5");
        messageDigest.reset();
        messageDigest.update(st.getBytes());
        digest = messageDigest.digest();
    } catch (NoSuchAlgorithmException e) {
        // тут можно обработать ошибку
        // возникает она если в передаваемый алгоритм в getInstance(,,,) не существует
        e.printStackTrace();
    }

    BigInteger bigInt = new BigInteger(1, digest);
    String md5Hex = bigInt.toString(16);

    while( md5Hex.length() < 32 ){
        md5Hex = "0" + md5Hex;
    }

    return md5Hex;
}

Хеш содержит 128 бит (16 байт) поэтому мы в строке 17 указали 16 байтов, в строке 19 было указанно 32 так как обычно хеш 16 байтов представляется как последовательность из 32 шестнадцатеричных цифр.

Метод #2: Apache Common Codec

Этот метод заключается в использовании готовой реализации MD5.

Для того чтобы использовать реализацию Apache Common Codec нужно подключить его к проекту. Если использовать Maven то нужно подключить к вашему проекту зависимость:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.9</version>
</dependency>

И ниже пример использования:

public static String md5Apache(String st) {
    String md5Hex = DigestUtils.md5Hex(st);

    return md5Hex;
}

DigestUtils – это утильный класс позволяющий зашифровать данные в MD5 и другие типы шифрования.

Использование

Вызов методов утильного класса MD5Util.java  со строкой devcolibri:

public static void main(String[] args) {
    String st = "devcolibri";

    System.out.println("Custom MD5:");
    System.out.println(MD5Util.md5Custom(st));
    System.out.println("Apache MD5:");
    System.out.println(MD5Util.md5Apache(st));
}

Результат:

Custom MD5:
4fa25efdd84d2e2c9f206980d4ccfff1
Apache MD5:
4fa25efdd84d2e2c9f206980d4ccfff1

ПОХОЖИЕ ПУБЛИКАЦИИ

    None Found

81680
01/07/2014

21 комментариев к статье "MD5 пример использования в Java"

Добавить комментарий

Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.

Я ознакомлен(а)