Показать сообщение отдельно
Старый 04.08.2011, 13:17   #10
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Ключ на Физикс

int scanLine (char* str)
{
	if (str[0]=='=')
	if (str[1]=='=')
	if (str[2]=='1')
	if (str[3]=='e')
	if (str[4]=='<')
	if (str[5]=='_')
	if (str[6]=='4')
	if (str[7]=='2')
	if (str[8]=='j')
	if (str[9]=='i')
	if (str[10]=='6')
	if (str[11]=='6')
	if (str[13]==']')
	if (str[14]=='1')
	if (str[15]=='a')
	if (str[16]=='d')
	if (str[17]=='U')
	if (str[18]=='2')
	if (str[19]=='2')
	if (str[26]=='7')
	if (str[27]=='e')
		ShowError("Key is invalid!!!!", "pxCreateWorld", __FILE__ , __LINE__);
	//==1e<_42ji66\]1adU22]T0a]d7eel4c

	unsigned char hashText[17];
	hashText[16] = 0;
	unsigned char hash[17];
	hash[16] = 0;
	unsigned char text[17];//зашифрованное имя 
	text[16] = 0;
	unsigned char out[33];
	out[32] = 0;

	for (int i = 0; i < 32; i++) 
	{
		out[i] = str[i];
	}
	//Формируем регкод из зашифрованного имени и хеша
	//Standart
/*	for (int i = 0; i < 8; i++) {
		text[2*i+1] = out[i*4];
		text[2*i] = out[i*4+1];
		hash[2*i+1] = out[i*4+2];
		hash[2*i]= out[i*4+3];
	}*/
	//PRO
	for (int i = 0; i < 8; i++) {
		text[2*i] = out[i*4];
		text[2*i+1] = out[i*4+1];
		hash[2*i] = out[i*4+2];
		hash[2*i+1]= out[i*4+3];
	}
	for (int i = 0; i < 16; i++) text[i] = (text[i] > 0x4f)?(0xce - text[i]):(0x7f-text[i]);

    //Вычисляем хеш
    unsigned __int64 hashvalue = Hash(text,16);
    sprintf((char*)hashText,"%0x%0x",(unsigned int)(hashvalue >> 32),(unsigned int)(hashvalue & 0xffffffff));

	if ( mstrcmp((char*)hashText,(char*)hash)) return 20000 + int(NxMath::rand(-100,100));
	else return 0;
}
А в какой проге его генерировать? Так как в с++ выдает ошибку
(Offline)
 
Ответить с цитированием