Я перенесу некоторые данные из системы CMS на основе Joomla в среду Java EE на основе Spring.
Во время анализа я обнаружил, что реализация паролей в md5 отличается от joomla ??? Любая идея, почему разница в реализации MD5 ??
Например:
если в записи joomla есть поле пароля, например "3c57ebfec712312f30c3fd1981979f58:WnvTroeiBmd5bjGmmsVUnNjppadH7giK
" (здесь 3c57ebfec712312f30c3fd1981979f58
- окончательный дайджест хеша md5, а WnvTroeiBmd5bjGmmsVUnNjppadH7giK
- ключ, добавляемый при вводе пароля пользователя) и когда пользователь пытается войти в систему с этой записью в весенней системе это терпит неудачу.
В системе Java EE, основанной на пружине, мы используем хеш-кодер в качестве 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 ?????
}