Вопрос Достать SHA256 хеш из AuthMe

Baroness's Dev

Разработчик
Сап спиготру, реквестирую умелых джавистов

По умолчанию AuthMe (Reloaded, естественно) сохраняет пароли в SHA256 в SQLite субд
Я поставил себе пароль qqqqq, после чего глянул базу данных. Итоги:
SHA256 хеширование: ae118a7acd2ff2f77598c7316bced68d92bf8c8f0ca30ffb28f4edf6fc7c2f3d
Хеширование AuthMe: $SHA$500da67b9441576a$94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61

Нашёл алгоритм хеширования в исходниках:
Java:
public static String toSHA256(String text) {
    try {
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        digest.reset();
        digest.update(text.getBytes());
        byte[] hash = digest.digest();
        return String.format("%0" + (hash.length << 1) + "x", new BigInteger(1, hash));
    } catch (Exception ignored) {
    }
    return null;
}
Но этот алгоритм возвращает обычный хеш.

Какие материалы расследования?

Команда регистрации:
https://github.com/AuthMe/AuthMeRel...mand/executable/register/RegisterCommand.java
Классы, связанные с хешированием:
https://github.com/AuthMe/AuthMeReloaded/tree/master/src/main/java/fr/xephi/authme/security

Куплю шаурму тому, кто найдёт решение (при условии вашего приезда в Стамбул)
 

Rgferg1

Премиум
Спроси в чате CrashInYou, а то там мои 5 акков в муте. Там они уж точно смогут помочь
 

q20w26a

Разработчик
ломка солевая, каждый день
Ты посмотри, может там правда соль используется?
 

Baroness's Dev

Разработчик
ломка солевая, каждый день
Ты посмотри, может там правда соль используется?
Я туплю, не понимаю откуда берётся соль.

Сплю по 5 часов простите

offtop


За шаурму можешь заплатить на киви (ник buseso)
А могли бы покушать вместе... Сидели бы на набережной лампово

UPD. +- понял, но всё ещё не понял как написать алгоритм, чтобы это дело обратно в хеш вернуть. Или никак?
 

q20w26a

Разработчик
Не очень понял, у тебя же уже есть хеш, зачем заворачивать? Или ты хочешь посмотреть как делают тут и "стащить" себе?)
Авто объединение сообщений:

Java:
@Override
    public String computeHash(String password, String salt, String name) {
        return "$SHA$" + salt + "$" + sha256(sha256(password) + salt);
    }
Тебе же скинули строку, посмтри где используется в проекте computeHash и все, тут же просто подставляют соль
 

Baroness's Dev

Разработчик
Тебе же скинули строку, посмтри где используется в проекте computeHash и все, тут же просто подставляют соль
SHA256 хеширование: ae118a7acd2ff2f77598c7316bced68d92bf8c8f0ca30ffb28f4edf6fc7c2f3d
Хеширование AuthMe: $SHA$500da67b9441576a$94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61
Даже если убрать $SHA$ и 16 знаков, хеш не будет обычным SHA256
Не очень понял, у тебя же уже есть хеш, зачем заворачивать? Или ты хочешь посмотреть как делают тут и "стащить" себе?)
У меня есть данные AuthMe, надо перевести хеш в SHA256. А я всё никак не могу понять как
 

Flaimer

Пользователь
Разве, не вторая часть после $ - это кэш? $SHA$ - это название кодировки, 1 часть после $ - это соль

То есть, это 94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61
 

Baroness's Dev

Разработчик
Разве, не вторая часть после $ - это кэш? $SHA$ - это название кодировки, 1 часть после $ - это соль

То есть, это 94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61
дело в том, что это не совпадает с обычным хешем. я сейчас ещё раз попробую
 

Flaimer

Пользователь
Голос конечно, не очень у данного человека... (Что-то типо перезалив ербаева (Только с странным голосом))

Он просто показал, как расшифровать. (у меня работает.)



Может по примеры, вы придумаете что писать в коде)
 

Baroness's Dev

Разработчик
Поставил пароль 55555
AuthMe: $SHA$66132480dcff1e6b$973d01df54e84f5d176eb06269f9318aa26bad730e8181fb63d847c543822da0
SHA256: c507a68f3093e885765257ed3f176c757aaf62bb4cbc2ef94b2e7da3406d9676

Я в тупике
 

BuseSo

Разработчик
Даже если убрать $SHA$ и 16 знаков, хеш не будет обычным SHA256

У меня есть данные AuthMe, надо перевести хеш в SHA256. А я всё никак не могу понять как
В AuthMeReloaded пароль шифруется дважды (Это ясно по коду ... sha256(sha256(password)) ...)
Авто объединение сообщений:

Black_Baroness, спроси у dsk... Как он делал расшифровку... В плагине Dskauth
У него простой хеш, без дополнений.
 

Baroness's Dev

Разработчик
В AuthMeReloaded пароль шифруется дважды (Это ясно по коду ... sha256(sha256(password)) ...)
уже шифровал дважды, результаты разные
55555
AuthMe
| $SHA$66132480dcff1e6b$973d01df54e84f5d176eb06269f9318aa26bad730e8181fb63d847c543822da0
SHA256 x2 | dd286f264d91c32ab094b010a9049337114a3d3c6de4ea57584174bdc0e227f8
 

Комнаты в чате

Верх Низ