PDA

Просмотр полной версии : Расшифровка


don cicio
02.01.2009, 20:50
есть база, там хеши такого типа

iMzq1qjnpETwYFvxczSbGC7uhjMXzp1A
eGuaCu1pW/kO4qAsJk9keM5u8tVL6liE
xKIqWJC9AU6lf0ME22yZWQ==
qw+fAEcnpJV7ivu60xVljw==

полазил по скриптам нашел такой код.

$key = "XXXXXXX"; // просто текст
$data = "BBBBBBBBBB".$passs; // инфа для шифрования. BBBBBBBBBBBBB были добавлены, потому что самые первые символы не хотят раскодироваться.
$alg = MCRYPT_BLOWFISH;
$mode = MCRYPT_MODE_CBC;
$iv = mcrypt_create_iv (mcrypt_get_iv_size ($alg, $mode), MCRYPT_DEV_URANDOM);
$encrypted_data = mcrypt_encrypt ($alg, $key, $data, $mode, $iv);
$plain_text = base64_encode ($encrypted_data);
//echo $plain_text."<p>";
$decoded = mcrypt_decrypt ($alg, $key, base64_decode($plain_text), $mode, $iv);
здесь я так понял и происходит кодирование, причем методом base64, с каким-то ключем... В общем никак раскодировать не получается. Может кто сможет по быстрому накатать скрипт для раскодирования на основе этого кода или же подскажет каким софтом можно это сделать... Заранее спасибо.

P3L3NG
02.01.2009, 21:06
PasswordsPro

хэш типа Base64($salt.$pass)

+ какая-то жестокая примесь с Blowfish

имхо шансы расшифровать -------> 0
попробуй лучше по этому алгоритму сделать свой хэш, вписать его в файл с паролями и попробовать сделать что-то еще

don cicio
02.01.2009, 21:55
PasswordsPro

хэш типа Base64($salt.$pass)


Так в нем нет такого модуля - Base64($salt.$pass)...
так значит нереально имея ключ расшифровать эту штуковину даже за деньги? может кто не за бесплатно возьмется...

попробуй лучше по этому алгоритму сделать свой хэш
а как хотя бы это сделать?

don cicio
02.01.2009, 22:34
а кстати чуть дальше такой код

$zaprosbazi = mysql_query("SELECT * FROM log_par WHERE login='".$loginn."'") or die("Внимание: База данных недоступна");
while ($roww=mysql_fetch_array($zaprosbazi)) {//echo "Пароль: ".$roww['par']."<p>";
$decoded = mcrypt_decrypt ($alg, $key, base64_decode($roww['par']), $mode, $iv);
// Здесь будет много BBBBBBBBBBBBB. Необходимо найти самую правую B и удалить ее и все то, что левее.
// Мы удаляем первые двадцать символов
//echo $decoded."<p>";
//echo substr($decoded, 10, strlen($decoded)-10)."<p>";

может поможет...

don cicio
04.01.2009, 00:41
в том то и дело что я ноль и в шифровании и в кодинге...
Daned - отписал в ПМ тебе...

betakley
17.01.2009, 22:00
ну и че у тебя не получается??? там же все четко в коде расписано, вначале кодируют, потом декодирую блоуфишем, используя заданный ключ. base64 еще параноики втулили.

может подключение библиотеки php_mcrypt поможет? и не забудь как тут (http://ua.php.net/manual/ru/function.mcrypt-decrypt.php) написано в коментариях, чтото типа $decoded = rtrim($decoded, "\0"); сделать, тк. при кодировании были добавлены недостающие нулевые символы, чтобы сделать данные кратные размеру ключа.