Будет ли java messagedigest генерировать другой хеш MD5 для другой версии jdk?

Я использую дайджест сообщения Java для создания хэша MD5, который используется для аутентификации. Хеш MD5 хранится в базе данных как varchar2. Я провел тест, чтобы создать пользователя на моем сервере tomcat на моем локальном ноутбуке. Когда я развернул войну на тестовом сервере tomcat в linux redhat, аутентификация не удалась из-за несоответствия хэша. Я проверил имя пользователя и пароль: все они верны. Оба веб-сервера указывают на одну и ту же базу данных.

Я подозреваю, что хэш, сгенерированный на моем локальном портативном компьютере, отличается от хэша, сгенерированного тестовым сервером. Я прав?

Ниже приведен код, с помощью которого я создал хэш.

public static String getMD5Hash(String str) throws Exception
{
    MessageDigest md = MessageDigest.getInstance("MD5");

    md.update(str.getBytes());
    return new String(md.digest());
}

Возвращенная строка будет сохранена в таблице базы данных, которая определена ниже.

create table authen(
   passport varchar2(50),
   constraint pk_au primary key (passport) USING INDEX TABLESPACE xxxxxxx
);

Вот выходные данные версии Java на моем ноутбуке

C:\Users\XXXX>java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)

Вот выходные данные версии Java на сервере redhat

[xxxxxx@xxxxxxxxx ~]$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
8
задан Nunser 30 April 2014 в 16:09
поделиться