Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: System32 poslato Jun 13, 2011, 11:28:09 PRE PODNE

Naslov: [Pomoc] Whirlpool
Poruka od: System32 poslato Jun 13, 2011, 11:28:09 PRE PODNE
Skripta koju koristim: iStunt
Detaljan opis problema: Ma iman whirlpool za hashanje lozinki no kad se idem logirati onda moram kucati cijelu lozinku onu iz scriptfilesa, odnosno onu sto je on hashao, a procitao sam da ako koristim Y_INI (A koristim) da onda nesto moram kucat tu lozinku blablablabal
ima neko rjesenje?
Dio skripte:a sta ce vam?
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: FireMan poslato Jun 13, 2011, 13:28:30 POSLE PODNE
Imas uputstva na forum.sa-mp.com kako koristit Whirlpool
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: [IF] mariomako poslato Jun 13, 2011, 13:33:18 POSLE PODNE
Whirpool je hash koj nemoze se dekodirati, zato moras da kodiras tu unesenu lozinku i da je sporedis sa onu lozinku iz scriptfilesa :D
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: FireMan poslato Jun 13, 2011, 13:40:45 POSLE PODNE
Voretex RP 2 koristi Whirlpool pa malo prouci u Scriptifiles i u skripti...
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: Dude poslato Jun 13, 2011, 13:42:10 POSLE PODNE
procedura:
1. Kad se regas, napravis hash lozinke i spremis 128 hash znakova u file
2. Kad se logiras, unosis normalnu lozinku i onda je hash i usporedis s onom hash lozinkom iz filea, ako su iste onda si tocno unio...
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: Dude poslato Jun 13, 2011, 14:46:03 POSLE PODNE
http://en.wikipedia.org/wiki/Whirlpool_(cryptography)


The 512-bit (64-byte) Whirlpool hashes (also termed message digests) are typically represented as 128-digit hexadecimal numbers. The following demonstrates a 43-byte ASCII input and the corresponding Whirlpool hashes:

odakle si da mi je samo znati izvukao 145 znakova?

takodjer http://forum.sa-mp.com/showthread.php?t=65290 - Y_Lessov plugin radi s 128 znako, a evo sto je on napisao u svojoj temi:
So I didn't bother including an include. To use simply call the function, passing a buffer of at least 129 characters, the size of that buffer and the string you want to hash. This used to say 145 but I have no idea why! You need 128 for the hash and 1 for the NULL terminator
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: System32 poslato Jun 13, 2011, 16:00:21 POSLE PODNE
bogami ja nista ne kuzim, sta da radim?
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: Rotcod poslato Jun 13, 2011, 16:13:14 POSLE PODNE
Zoran je to jako jednostavno i dobro objasnio nema tu sta tesko.
Ovako.
Ti kad se registrujes tebi se spremi sad hashovana lozinka.
Onda bi trebao da napravis kad se igrac Loginuje da Hashuje ono sto je on napisao kao lozinku i da usporedi sa Passwordom, ako je tacno pustice ga unutra, jos nesto nejasno?
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: Dude poslato Jun 13, 2011, 16:45:16 POSLE PODNE
Citat: Luka P. poslato Jun 13, 2011, 16:34:09 POSLE PODNE
Citat: Dude poslato Jun 13, 2011, 14:46:03 POSLE PODNE
http://en.wikipedia.org/wiki/Whirlpool_(cryptography)


The 512-bit (64-byte) Whirlpool hashes (also termed message digests) are typically represented as 128-digit hexadecimal numbers. The following demonstrates a 43-byte ASCII input and the corresponding Whirlpool hashes:

odakle si da mi je samo znati izvukao 145 znakova?

takodjer http://forum.sa-mp.com/showthread.php?t=65290 - Y_Lessov plugin radi s 128 znako, a evo sto je on napisao u svojoj temi:
So I didn't bother including an include. To use simply call the function, passing a buffer of at least 129 characters, the size of that buffer and the string you want to hash. This used to say 145 but I have no idea why! You need 128 for the hash and 1 for the NULL terminator

Znam, ali na početku je Y_Less stavio na 145 znakova, ne znam ni ja od kud njemu to, pitao sam ga na njegovom profilu, pa ću ti dokazati da je bilo tako.

znam, ali gledajuci po wikipedia-i samo neka koriste 128 znakova, to je ono sto je on pitao, ne kazem da ti krivo govoris nego samo da ce s pluginom imat 128 znakova...

i u php-u kad napravis hash dobijes 128 znakova, testirao sam jos davno jer dovrsavam php ucp za server, a vec cu svi passowi hash-ani u whirpoolu
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: System32 poslato Jun 13, 2011, 18:48:14 POSLE PODNE
ja ja eXtreme samo kad bi ja to znao napraviti, mislim, to je men i Paradox napravio,samo to za spremanje statsa i taj hash,prije sam koristio dudb ali presao na ovo, koji dio vam treba ako bi mogli napraviti?
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: BloodMaster poslato Jun 13, 2011, 18:58:16 POSLE PODNE
pa daj komandu /register ili dialog gdje to koristis omg
Naslov: Odg: [Pomoc] Whirlpool
Poruka od: System32 poslato Jun 13, 2011, 19:03:32 POSLE PODNE
ockej, ovako je paradox stavio da bude preglednije
[codec=]public LoadUserData(playerid, name[], value[])
{
if(!strcmp(name, "Lozinka"))
{
new
    hashPassword[129];

    WP_Hash(hashPassword, 129, value);
SetPVarString(playerid, "Lozinka", hashPassword);
}
if(!strcmp(name, "Admin")) SetPVarInt(playerid, "Admin", strval(value));
if(!strcmp(name, "Money")) SetPVarInt(playerid, "Money", strval(value));
if(!strcmp(name, "Score")) SetPVarInt(playerid, "Score", strval(value));
if(!strcmp(name, "Kills")) SetPVarInt(playerid, "Kills", strval(value));
if(!strcmp(name, "Deaths")) SetPVarInt(playerid, "Deaths", strval(value));
if(!strcmp(name, "Skin")) SetPVarInt(playerid, "Skin", strval(value));
}

OnPlayerRegister(playerid, password[])
{
new
    hashPassword[129],
    uFile[35];

    format(uFile, 35, USER_FILE, GetName(playerid));

new
    INI:playerFile = INI_Open(uFile);
   
WP_Hash(hashPassword, 129, password);

INI_WriteString(playerFile, "Lozinka", hashPassword);
INI_WriteInt(playerFile, "Admin", 0);
INI_WriteInt(playerFile, "Money", 200);
INI_WriteInt(playerFile, "Score", 0);
INI_WriteInt(playerFile, "Kills", 0);
INI_WriteInt(playerFile, "Deaths", 0);
INI_WriteInt(playerFile, "Skin", 0);

INI_Close(playerFile);

SetPVarInt(playerid, "Registered", 1);
SetPVarInt(playerid, "Logged", 1);
return 1;
}

OnPlayerLogin(playerid, password[])
{
    new
        hashPassword[129],
        Password[129],
    uFile[35];

    format(uFile, 35, USER_FILE, GetName(playerid));

INI_ParseFile(uFile, "LoadUserData", .bExtra = true, .extra = playerid);

GetPVarString(playerid, "Lozinka", Password, 129);
WP_Hash(hashPassword, 129, password);

if(strcmp(Password, hashPassword, false, 35))
{
    if(GetPVarInt(playerid, "LoginTries") == 3) Kick(playerid);
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "iStunt - Logiranje", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave");
    SetPVarIntEx(playerid, "LoginTries", +, 1);
    }
}
return 1;
}