Существует ли способ MD5 (Unix) хэш вида $1$Qawk$ghhguelKGHn99lZKlchYP1 конвертнуть в хэш sha1($username.$pass) вида 6340a2284e9d6d400a36693ffaa568a3e12682d6 не дешифруя до пароля? Юзернейм известен.
Здравствуйте, Symon, Вы писали:
S>Существует ли способ MD5 (Unix) хэш вида $1$Qawk$ghhguelKGHn99lZKlchYP1 конвертнуть в хэш sha1($username.$pass) вида 6340a2284e9d6d400a36693ffaa568a3e12682d6 не дешифруя до пароля? Юзернейм известен.
Нет. Даже просто MD5 пароля в SHA1 пароля нельзя. А уж в sha1($username.MD5inv($pass_md5)) — тем более.
Здравствуйте, Symon, Вы писали:
S>Существует ли способ MD5 (Unix) хэш вида $1$Qawk$ghhguelKGHn99lZKlchYP1 конвертнуть в хэш sha1($username.$pass) вида 6340a2284e9d6d400a36693ffaa568a3e12682d6 не дешифруя до пароля? Юзернейм известен.
Обратное (sha1->md5) было бы равносильно взлому sha1, что хоть теоретически и возможно, но крайне маловероятно.
Преобразование же md5->sha1 невозможно даже теоретически: Вам неоткуда взять недостающие 32 бита данных.
Pzz>Преобразование же md5->sha1 невозможно даже теоретически: Вам неоткуда взять недостающие 32 бита данных.
Это было бы справедливо, если бы все биты в хеше были независимыми, а это не так.
Например, если взять 1 бит информации и захешировать в 160-битный sha1, то количество информации от этого не увеличится (условно, из 160 битов можно взять один бит как действительно информационный, а остальные 159 — как зависимые).