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

BlackBaroness

Модератор
Разработчик
Сообщения
1,680
Решения
72
Веб-сайт
vk.com
Сап спиготру, реквестирую умелых джавистов

По умолчанию 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;
}

Но этот алгоритм возвращает обычный хеш.

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

Команда регистрации:

Классы, связанные с хешированием:


Куплю шаурму тому, кто найдёт решение (при условии вашего приезда в Стамбул)
 
Итоговый хеш:
Sha256:
ломка солевая, каждый день
Ты посмотри, может там правда соль используется?
Я туплю, не понимаю откуда берётся соль.
offtop Сплю по 5 часов простите


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

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

Java:
@Override
    public String computeHash(String password, String salt, String name) {
        return "$SHA$" + salt + "$" + sha256(sha256(password) + salt);
    }
Тебе же скинули строку, посмтри где используется в проекте computeHash и все, тут же просто подставляют соль
 
Тебе же скинули строку, посмтри где используется в проекте computeHash и все, тут же просто подставляют соль
SHA256 хеширование: ae118a7acd2ff2f77598c7316bced68d92bf8c8f0ca30ffb28f4edf6fc7c2f3d
Хеширование AuthMe: $SHA$500da67b9441576a$94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61
Даже если убрать $SHA$ и 16 знаков, хеш не будет обычным SHA256
Не очень понял, у тебя же уже есть хеш, зачем заворачивать? Или ты хочешь посмотреть как делают тут и "стащить" себе?)
У меня есть данные AuthMe, надо перевести хеш в SHA256. А я всё никак не могу понять как
 
Разве, не вторая часть после $ - это кэш? $SHA$ - это название кодировки, 1 часть после $ - это соль

То есть, это 94e266e80ccfc60d7d3cdff4a2dd832adcf8310ec7f28c422156385fde316c61
дело в том, что это не совпадает с обычным хешем. я сейчас ещё раз попробую
 
Голос конечно, не очень у данного человека... (Что-то типо перезалив ербаева (Только с странным голосом))

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

You must be registered for see medias


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

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

Black_Baroness, спроси у dsk... Как он делал расшифровку... В плагине Dskauth
У него простой хеш, без дополнений.
 
В AuthMeReloaded пароль шифруется дважды (Это ясно по коду ... sha256(sha256(password)) ...)
уже шифровал дважды, результаты разные
55555
AuthMe
| $SHA$66132480dcff1e6b$973d01df54e84f5d176eb06269f9318aa26bad730e8181fb63d847c543822da0
SHA256 x2 | dd286f264d91c32ab094b010a9049337114a3d3c6de4ea57584174bdc0e227f8
 
Поставил пароль 55555
AuthMe: $SHA$66132480dcff1e6b$973d01df54e84f5d176eb06269f9318aa26bad730e8181fb63d847c543822da0
SHA256: c507a68f3093e885765257ed3f176c757aaf62bb4cbc2ef94b2e7da3406d9676

Я в тупике
Добрый день, можешь обьяснить как получить из AuthMe Sha256?
 
Ты решил? У меня такая же проблема возникла при написании сайта. Необходимо сравнивать пароли из плашки авторизации с паролем из бд. LimboAuth метод хэширования AuthMe. Для теста ввёл пароль, теперь его надо сравнить.

limbo: $2a$10$Qx.tUPENOEpPdu0l6txGxOt6K0Fk5sTUd.Jji5sjgdQfMckkNP.0O
Авто объединение сообщений:

Baroness' Dev
 
xflyiwnl,

$ имя хеша $ соль $ хеш $

хеш = sha256(sha256(пароль) + соль)

Спасибо, я решил сам. Связался с разработчиком LimboAuth, он направил меня на BCrypt verify. И оказывается, что лимбо хранит пароли в BCrypt.

Есть либа для BCrypt, в котором можно сравнить обычный String с хэшом. Вот как-то так
 
Последнее редактирование:
Назад
Сверху Снизу