@doev03

Как узнать чем зашифрована строка, зная ключ и что в ней зашифровано?

Добрый день, хочу попросить вас о помощи с определением инструмента/метода шифрования, имея следующие начальные данные:

Ключ: e9644439636b8e794ff8c82293bf182c

Зашифрованная строка: b4944857e699c8778fd432274ec04ca313e65a099122719f3791b0a39d06687f2c3806303e2982e5f8f22b7bf080e4713ad67489c4462e49cd8de73a708c0c82cf7392f8ed7f94368ad017715b2355fdb20750d751e3d481f4e23f47234db29d91df988418c326b315b4166ab07e04ece57e39896544c4600ad07fb8695b85f42609cc0a8ca5dd40abb884278bbb722a

Расшифрованная строка: https://upload.ton.place/uploads/videos/tmp/91ee57...
(зашифровано не видео, а сама ссылка-строка)
  • Вопрос задан
  • 575 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akela_wolf
Extreme Programmer
Во-первых "расшифрованная строка" возвращает 404.
Во-вторых - расшифрованная строка есть видеофайл? В таком случае я вас огорчу - это не шифрование, это хэширование. Но тогда я не понял при чем тут некий "ключ".
Хэширование отличается от шифрования тем, что хэширование необратимо, то есть по хэшу невозможно получить изначальный файл.

Определить алгоритм можно только перебором - взять известные алгоритмы хэширования, часть сразу можно отбросить как неподходящие (например MD5, SHA-128 - длина хэша слишком большая). А дальше перебирать.

Но в вашем случае длина 106 символов, это 424 бита - что-то нестандартное, похоже. Или вы как-то не так объяснили проблему.
Ответ написан
@MaxKozlov
Вот вам заготовочка по мотивам https://www.php.net/manual/en/function.hash.php#104987
Но в таком виде даже частичных совпадений нет.
Учитывая что, как писали в комментариях, там явно не чистый алгоритм, а комбинация, например соли и хеша, экспериментировать можно до посинения. там же может быть как банальный xor так и комбинация всяких перестановок разных алгоритмов и солей

<?php
$data = "https://upload.ton.place/uploads/videos/tmp/91ee572b-cd30-4209-5651-7e049c155529.mp4";
print("HASH\n");
foreach (hash_algos() as $v) {
        $r = hash($v, $data, false);
        printf("%-12s %3d %s\n", $v, strlen($r), $r);
}

$key = hex2bin('e9644439636b8e794ff8c82293bf182c');
print("HMAC\n");
foreach (hash_hmac_algos() as $v) {
        $r = hash_hmac($v, $data, $key, false);
        printf("%-12s %3d %s\n", $v, strlen($r), $r);
}
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы