Я переношу некоторые данные из системы cms на основе joomla в среду Java EE на основе Spring.
В ходе анализа я обнаружил, что реализация паролей md5 отличается от joomla ??? Любая идея, почему разница в реализации md5 ??
Например: если в записи joomla было поле пароля, такое как «3c57ebfec712312f30c3fd1981979f58:WnvTroeiBmd5bjGmmsVUnNjppadH7giK
» (здесь 3c57ebfec712312f30c3fd1981979f58
- окончательный хеш-дайджест md5, а WnvTroeiBmd5bjGmmsVUnNjppadH7giK
- ключ, который должен быть добавлен с вводом пароля пользователя), и когда пользователь пытается войти в систему с этой записью в весенней системе, это не удается.
В системе Java EE на основе Spring мы используем хеш-кодировщик как md5 и соль как некоторую переменную, которая здесь WnvTroeiBmd5bjGmmsVUnNjppadH7giK
.
Фрагмент кода Junit: Этот тестовый пример не выполняется.
@Test
public void testSpringMD5Functionality() {
String md5MigratedPassword = "3c57ebfec712312f30c3fd1981979f58:WnvTroeiBmd5bjGmmsVUnNjppadH7giK";
String[] m = md5MigratedPassword.split(":");
Md5PasswordEncoder passwordEncoder = new Md5PasswordEncoder();
passwordEncoder.setEncodeHashAsBase64(false);
boolean value = passwordEncoder.isPasswordValid(m[0], "password", m[1]);
assertTrue(value); //test case fails ?????
}