HI,
Ich mache gerade ein Login und Register System und komm jetzt nich weiter.Ich möchte in der Account datei das verschlüsselte passwort abspeichern.
1.Wie verschlüssel ich das passwort?
2.Wie mach ich die abfrage?
Ich benutze dini
MFG Chriss
Register System - Passwort abfrage + Verschlüsselung
- Chriss
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Kann jemand helfen?
-
if(strcmp("passwort",variable,false) == 0)
{
// zulassen & Daten laden
}
else
{
// falsches PWD
}
zum verschlüsseln nehm einfach y_less seine MD 5 inc -
benutz doch die udb_hash() funktion von den dudb.inc
//Edit: xD BFX war schneller:D
-
die verschlüsselung geht (glaube ich) so:
also oben hin forward Encrypt(string[]);und dann iwo hin in den script, am besten ganz unten:
public Encrypt(string[])
{
for(new x=0; x < strlen(string); x++)
{
string[x] += (3^x) * (x % 15);
if(string[x] > (0xff))
{
string[x] -= 256;
}
}
return 1;
}und am ende vom /register command das:
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);ich glaube das das gehen müssste.
also mein /register command sieht so aus, kannste ja kopieren
if (strcmp(cmd, "/register", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
if(AccountInfo[playerid][Logged] == 1)
{
SendClientMessage(playerid, RED, "You are already logged in.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "/sAccounts/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, RED, "That name is already taken. Please reconnect using a different username.");
fclose(hFile);
return 1;
}
new tmppass[128];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /register [password]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
return 1;und direkt unter dem onplayercommandtext nicht das vergessen:
new cmd[128];
new tmp[128];
new idx;
new giveplayerid;
new sendername[24];
new string[STRING];
cmd = strtok(cmdtext,idx);hoffe ganz dolle ich konnte helfen, bzw. das problem lösen.
MfG Pride -
Naja weiss nicht ob Chriss da nen Durchblick gewinnt... Is ja auch einfach aus dem SeifAdmin rauskopiert.
-
Vielen Dank,
Doch durchsteigen tu ich da wohl
Ich werds ma versuch denk schon das es iwi klappt ich bastel eifnach bis ich schlauer bin
Edit:Wenn ich deinen Register Befehl nehmen würde müsste ich erstmal nen public OnPlayerRegister erstellen etc xD -
breadfish.de
Hat das Thema geschlossen.