Szerző Téma: [Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]  (Megtekintve 6476 alkalommal)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Whirlpool
 
Mi is ez?
Hála Y_Less-nek, a PAWN nyelvben is lehetõségünk van a Whirlpool algoritmus használatára, ami segítségével a legbiztonságosabban kezelhetjük szerverünkön a karakterláncokat. Általában ezek a karakterláncok jelszavak szoktak lenni, a példában is ezt fogom bemutatni.
Whirlpool? De sokféle más megoldás is van!
Igen, de azok könnyedén dekódolhatók, vagy rosszabb esetben még csak kódolva sincsenek. Nem vagyok benne biztos, hogy a szerver játékosai örülnének, ha tudnák, hogy a szervergazda kezében van a jelszavuk... Ezért jó a Whirlpool, mivel ( még egyenlõre ) nem lehet dekódolni.
Telepítés / Üzembehozás
Elõször is, töltsük le a plugint innen. Ezután helyezzük el a szervermappánk/plugins mappában( ha nincs ilyen mappa, akkor hozd létre! ), majd nyissuk meg a server.cfg-t, és adjuk hozzá a következõ sort:
 
plugins Whirlpool

 

plugins Whirlpool.so

 
( Megjegyzés: Ha már a server.cfg fájlunkban van plugins nevû sor, akkor ahhoz adjuk hozzá, ne csináljunk újat! )
Ezután nyissuk meg a Pawno-t, és ágyazzuk be a következõ képpen( csak ne más függvénybe rakjuk! ):
 
native WP_Hash( buffer[  ], len, const str[  ] );

 
Mostantól a rendelkezésünkre áll a függvény!
Példa a használatára
A példában egy regisztrációs rendszer jelszó \'mentését\' / ellenõrzését fogom leírni.
Megjegyzés: A példában a dini függvénykönyvtárat csak az egyszerûség kedvéért használtam! A példában szereplõ egyéb funkcióktól nem kell \'megijedni\', majd egy következõ leírásban azok is sorra kerülnek.  ;)
 

//Fejállományok beágyazása
#include < a_samp >
#include < dini >
#include < sscanf2 >
#include < zcmd >
//\'WP_Hash\' függvény nativálása
native WP_Hash( buffer[  ], len, const str[  ] );
//Definíciók
#define COLOR_GREEN       0x33AA33AA
#define COLOR_RED          0xFF0000AA
#define BUFFER_LEN          145
CMD:register( playerid, params[  ] ) {
//Tároló létrehozása a játékos által beírt sztringnek, és az \'új\' jelszónak
new szPass[ 32 ];
new szHash[ BUFFER_LEN ];
if( sscanf( params, \"s[32]\", szPass ) ) {
    SendClientMessage( playerid, COLOR_RED, \"Használat: /register < Jelszó >\" );
} else {
    //A jelszó kódolása a \'szHash\' sztringbe, majd elmentése a játékos adatlapjába
    WP_Hash( szHash, sizeof szHash, szPass );
    dini_Set( PlayerAccount( playerid ), \"Password\", szHash );
    SendClientMessage( playerid, COLOR_GREEN, \"Sikeres regisztráció!\" );
}
return 1;
}
CMD:login( playerid, params[  ] ) {
//Tároló létrehozása a játékos által beírt sztringnek, és a jelszónak
new szPass[ 32 ];
new szHash[ BUFFER_LEN ];
    if( sscanf( params, \"s[32]\", szPass ) ) {
    SendClientMessage( playerid, COLOR_RED, \"Használat: /login < Jelszó >\" );
} else {
    //A jelszó kódolása a \'szHash\' sztringbe
WP_Hash( szHash, sizeof szHash, szPass );
//A kódolt jelszó összehasonlítása a már lementett( kódolt ) jelszóval
if( strcmp( szHash, dini_Get( PlayerAccount( playerid ), \"Password\" ) ) != 0 ) {
    SendClientMessage( playerid, COLOR_RED, \"Helytelen jelszó!\" );
} else {
    SendClientMessage( playerid, COLOR_GREEN, \"A bejelentkezés sikeres volt!\" );
}
}
return 1;
}
GetPlayerNameEx( playerid ) {
new z[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, z, sizeof z );
return z;
}
PlayerAccount( playerid ) {
new z[ 64 ];
format( z, sizeof z, \"/Users/%s.dat\", GetPlayerNameEx( playerid ) );
return z;
}
« Utoljára szerkesztve: 2011. Január 15. - 17:24:14 írta ChuckNorris »

Nem elérhető VTX

  • 2402
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #1 Dátum: 2010. Április 14. - 20:10:07 »
0
Ez hasznos. Jól leírtad grat  ;)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #2 Dátum: 2010. Április 14. - 20:11:07 »
0
Idézetet írta: VTX date=1271268607\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1369\" data-ipsquote-contentclass=\"forums_Topic
Ez hasznos. Jól leírtad grat  ;)
 
Köszönöm.  ;)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #3 Dátum: 2010. Április 14. - 20:58:16 »
0
Szép leírás lett. Grat.
Jeje.. zcmd és sscanf.   :D :P

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #4 Dátum: 2010. Április 14. - 22:07:24 »
0
Idézetet írta: Csabesz date=1271271496\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1369\" data-ipsquote-contentclass=\"forums_Topic
Szép leírás lett. Grat.
Jeje.. zcmd és sscanf.   :D :P
 
Köszi.  :D

[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #5 Dátum: 2010. Április 14. - 23:01:18 »
0
Jó lett :) Am Még mindig várom a sscanf-os tutot :shy: Már nagyon :shy: mert már nagyon izgatja a fantáziám :D:D

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #6 Dátum: 2010. Április 15. - 11:49:17 »
0
Szép leírás,Gratula.  :)

[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #7 Dátum: 2010. Április 15. - 14:04:14 »
0
Az md5 hez hasonlóan ez is dekódolható ha úgy vesszük...szerintem.
http://hu.wikipedia.org/wiki/MD5
 
Az MD5 hashek visszafejtése nem lehetséges, léteznek azonban különbözo on-line is elérheto adatbázisok, melyek kódolt adatokat, és a hozzájuk tartozó hasheket tartalmazzák. Ilyen például az www.md5decrypter.com, mely 2009 áprilisában több, mint 800 000 kódot és visszafejtést tartalmazott.[/quote]
egyébként nem rossz.

Nem elérhető SnicK

  • 7521
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #8 Dátum: 2010. Április 15. - 14:30:05 »
0
Nos igen átkódolja, de nem minden esetben hasznos, mikor eLife foadmin voltam, és egy játékos elfelejtette a jelszót kezdhetett új karit... mert soha az életbe nem tudtam neki megmondani a jelszavát

[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #9 Dátum: 2010. Április 15. - 17:16:28 »
0
Idézetet írta: SnicK date=1271334605\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1369\" data-ipsquote-contentclass=\"forums_Topic
Nos igen átkódolja, de nem minden esetben hasznos, mikor eLife foadmin voltam, és egy játékos elfelejtette a jelszót kezdhetett új karit... mert soha az életbe nem tudtam neki megmondani a jelszavát
 
Miért nem \"0-ztad\" a jelszavát?? és pl.: gondolom volt/van rajta jelszóváltoztató parancs és annyi :)

EGyébként akármi dekódolható egy ido után...tök mind1...alapból elm. mindenhova különbözo jelszavadnak kéne lennie me az a legbiztonságosabb. De szerverre olyan jelszóval menj amit ha megtudnak semmit se kezdhetnek vele ;)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #10 Dátum: 2010. Április 15. - 17:40:50 »
0
Ez a legbiztonságosabb enkódoló algoritmus( eddig ).
 
Idézetet írta: Y_Leѕѕ date=1235524867\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1369\" data-ipsquote-contentclass=\"forums_Topic


Okay i\'ve got 2 question:
Question 1: How do I \"Install\" this?
Just add it like any other plugin.
 

Question 2: Is it possible to like decrypt the algorytm?
 
[/quote]
Maybe with several years on a super computer.  Whirlpool is one of the most advanced hashing algorithms about (excluding the NIST SHA-3 candidates), I can\'t even find data on collision complexity, let alone collisions (and forget about direct decryption).
The point of a hash is to encrypt data so you can run comparisons on it, but not get the original back, it would be pretty useless if you could.  MD5, possibly the most widely used hash, has been long since cracked, you can find a collision on a standard notebook in under a minute.
http://en.wikipedia.org/wiki/Cryptographic_hash_function
http://en.wikipedia.org/wiki/WHIRLPOOL
http://en.wikipedia.org/wiki/MD5
 
[/quote]


A dicséreteket köszönöm.  :)

Nem elérhető SnicK

  • 7521
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #11 Dátum: 2010. Április 15. - 19:59:46 »
0
Ha átírom nullákra, a whirlpool azt is lekódolja rögtön szal mindegy...

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #12 Dátum: 2010. Április 16. - 07:30:22 »
0
Idézetet írta: SnicK date=1271334605\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1369\" data-ipsquote-contentclass=\"forums_Topic
Nos igen átkódolja, de nem minden esetben hasznos, mikor eLife foadmin voltam, és egy játékos elfelejtette a jelszót kezdhetett új karit... mert soha az életbe nem tudtam neki megmondani a jelszavát
 
Gondolom GF.. Simán írhatnál 1 scriptet a GF alapján, amivel dekódolnád a jelszavát.

[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #13 Dátum: 2010. Április 16. - 09:47:28 »
0
Egyébként, ha egy szótárat (több 100 ezer szó) ha szerzel, simán csinálhatsz egy jó kis visszafordítót, nem?
Ugyanaz a gyengéje, mint az MD5-nek (szerintem)
Amúgy pedig nem a jelszavát kell \"nullázni\",hanem az (például) 12345 hash-jét betenni a régi hash helyett

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[Scripting Eszköz] Whirlpool | A legbiztonságosabb jelszókezelés [Titkosító]
« Válasz #14 Dátum: 2010. Április 17. - 19:21:04 »
0
Jó leírás én dubd t használok, de azt nem értem h ez miszerint megy :O

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal