[devel] Как восстановить пароль на jabber?
Andrey Rahmatullin
=?iso-8859-1?q?wrar-alt_=CE=C1_mail=2Eru?=
Пт Сен 29 21:34:06 MSD 2006
On Sat, Sep 30, 2006 at 12:18:02AM +0700, Slava Semushin wrote:
> Как это сделать на шелле? Впрочем исходник на Сях я тоже пойму :)
Исходник на сях является частью сорцов пси :)
В аттаче, короче. Компилять с -I/usr/lib/qt3/include -L/usr/lib/qt3/lib -lqt-mt
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
Я, конечно, осознаю, что моя точка зрения нынче не в моде,
но что общего между наглядными столбиковыми диаграммами
и полным контролем за состоянием батарей?
-- ldv in community@
----------- следующая часть -----------
#include <qstring.h>
#include <iostream>
int hexChar2int(char c)
{
if(c >= 'A' && c <= 'F')
return c - 'A' + 10;
else if(c >= 'a' && c <= 'f')
return c - 'a' + 10;
else if(c >= '0' && c <= '9')
return c - '0';
return 0;
}
QString decodePassword(const QString &pass, const QString &key)
{
QString result;
unsigned int n1, n2;
if(key.length() == 0)
return pass;
for(n1 = 0, n2 = 0; n1 < pass.length(); n1 += 4) {
ushort x = 0;
if(n1 + 4 > pass.length())
break;
x += hexChar2int(pass.at(n1))*4096;
x += hexChar2int(pass.at(n1+1))*256;
x += hexChar2int(pass.at(n1+2))*16;
x += hexChar2int(pass.at(n1+3));
QChar c(x ^ key.at(n2++).unicode());
result += c;
if(n2 >= key.length())
n2 = 0;
}
return result;
}
int main()
{
QString q = decodePassword("хэш из конфига", "JID");
std::cout << q.local8Bit() << std::endl;
}
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060929/17fbc68a/attachment-0001.bin>
Подробная информация о списке рассылки Devel