Я переношу некоторые данные из системы cms на основе joomla в среду Java EE на основе Spring.Md5 с кодированием соли
Во время анализа я обнаружил, что реализация md5 паролей не такая же, как joomla ??? Любая идея, почему разница в реализации md5?
Например: если Joomla запись имела поле пароля, как «3c57ebfec712312f30c3fd1981979f58:WnvTroeiBmd5bjGmmsVUnNjppadH7giK
» (здесь 3c57ebfec712312f30c3fd1981979f58
является окончательным md5 хэш-дайджеста и WnvTroeiBmd5bjGmmsVUnNjppadH7giK
является ключом, который будет добавлен с вводом пароля пользователя) и когда пользователь пытается войти в систему с этой записью в пружинная система не работает.
В весенней системе Java EE мы используем хеш-кодировщик как md5 и соль как некоторую переменную, которая здесь WnvTroeiBmd5bjGmmsVUnNjppadH7giK
.
Сводный код юнита: Этот тест не подходит.
@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 ?????
}
Это заняло у меня почти день, чтобы исправить this.Below тестовый пример работает @test общественного недействительными testSpringMD5Functionality() { Строка md5MigratedPassword = "3c57ebfec712312f30c3fd1981979f58: WnvTroeiBmd5bjGmmsVUnNjppadH7giK"; Строка [] m = md5MigratedPassword.split (":"); Md5PasswordEncoder passwordEncoder = новый Md5PasswordEncoder(); passwordEncoder.setEncodeHashAsBase64 (false); boolean value = passwordEncoder.isPasswordValid (m [0] + m [1], "password", null); assertTrue (значение); // пропуска для испытаний } – challenge