Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 22:52 Der er 25 kommentarer og
1 løsning

Kryptering af adgangskode?

JEg vil spørge hvordan man får sådan en der kryptere ens adgangskode, altså i stedet for at der står hej så står der bare en masse tal: 2454326, PASSER IKKE DETTE EKSEMPEL!
HVordan gør man det. Evt. kan man ikke sætte sin side til at lave et helt tilfældigt nummer som 35263473. Eller hvad? At når man opretter en bruger, så samtidig indsætter den et totalt tilfældigt nummer!? Kan man ikke det i php hvordan?

Hvis i ikke forstår mig så spørg løs!

På forhånd tak!
Avatar billede stalle Nybegynder
01. juli 2004 - 22:58 #1
$password = md5($password);
Hvor $password indeholder det brugeren har valgt som password.
Avatar billede dadane Novice
01. juli 2004 - 22:59 #2
Du bruger formodentligt MySQL til at gemme brugernavne & passwords. Hvis det er tilfældet kan du jo bruge MySQL's passwords funktion.

INSERT INTO users (brugernavn, password) VALUES ('friends', PASSWORD('test'));

Og tilsvarende

SELECT id FROM users WHERE brugernavn = 'friends' AND password = PASSWORD('test');
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 22:59 #3
HVad så når det skal hentes igen? når man logger ind? hvordan "afkryptere" man?
Avatar billede stalle Nybegynder
01. juli 2004 - 23:00 #4
Til et at tildele et tilfældigt password kan du evt bruge rand()
Avatar billede cautoo Nybegynder
01. juli 2004 - 23:00 #5
Kryptering findes der mange måder til...
Du kan bare søge her i PHP sektionen så finder du en masse færdige krypter5ing og dekrypteringsfunktioner
ex. http://www.eksperten.dk/spm/362326
se flere her: http://www.google.com/search?q=kryptering%20%20%2B%22Programmering%20%3A%20Script%20%3A%20PHP%22%20site%3Aeksperten.dk

En god kryptering kan ikke dekrypteres... Dvs. man kan kryptere et password med et så avanceret regnesystem at den ikke kan "deregnes" tilbage igen... når man så skal tjekke om koden er "korrekt" så kryptere man bare den modtagne kode (evt. fra brugerinpuyt) og tjekker om de så koder er identiske når de er kryteret... se evt. http://www.eksperten.dk/spm/394345
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:00 #6
dadane >> Duer ikke! så bliver det jo ikke unikt!
Avatar billede cautoo Nybegynder
01. juli 2004 - 23:01 #7
hmm... var vist for langsom :/
Avatar billede stalle Nybegynder
01. juli 2004 - 23:01 #8
med den metode til at kryptere password, kan du kun sammenligne om det brugeren efter følgende taster ind, passer sammen med det der står i databasen.

En md5 checksum kan ikke reverseres
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:03 #9
ok, jeg skal lige prøve
Avatar billede dadane Novice
01. juli 2004 - 23:04 #10
friends - hvad mener du med at det ikke bliver unikt?
At test altid giver det samme krypterede password? Det gør det også med MD5.

Hvis du vil lave det lidt bedre kan du tilføje et såkaldt salt. Hvor saltet er hemmeligt.

Altså kan du f.eks. vælge saltet til abc og skrive:

INSERT INTO users (brugernavn, password) VALUES ('friends', PASSWORD('abctest'));

Og tilsvarende

SELECT id FROM users WHERE brugernavn = 'friends' AND password = PASSWORD('abctest');

Den metode gælder naturligvis også med MD5.
Avatar billede dadane Novice
01. juli 2004 - 23:04 #11
Og som cautoo skriver så bør du ikke kunne dekryptere. Og så er det smartest at det samme password altid giver det samme krypterede password, - ellers bliver det jo svært at tjekke!
Avatar billede cautoo Nybegynder
01. juli 2004 - 23:06 #12
Hvis du skal lave din egen "passwordgenerator"... så er der også flere måder at gøre det...

nu laver jeg ikke en komplet funktion, men giver nogle hurtige fif...

du laver en string der indeholder de tegn som man må bruge...
du laver en løkke som kører lige så mange gange, som tegn passwordet skal være langt...
for hver gang bruger du gmp_random(strlength($STRING_DER_INDEHOLDER_MULIGE_TEGN-1)) som så finder et tilfældigt tal, bagefter kan du bruge en slags "tegnudtager"... noget alla substr(TILFÆLDIGTTAL, 1) og så smide det hele ind i en endelig string
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:06 #13
okay det virker stalle smid et svar!

gjorde sådan

<?

$password = "hejz";
$pass = md5($password);
echo $pass;

?>

og så spyttede den dette ud: 056c8284518ca080b04a1832a04828f4

Så takker! :)
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:09 #14
okay jeg forstod det andeledes dadane!

Men det med password gør jeg ved at det der kun bliver en aktiveringskode!
Avatar billede stalle Nybegynder
01. juli 2004 - 23:10 #15
Jamen, det vil jeg da lige gøre så :-D
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:11 #16
HVad er bedst hvad foretrækker i rand()
eller md5 kryptering.
Avatar billede stalle Nybegynder
01. juli 2004 - 23:13 #17
Jeg bruger altid en md5-checksum af brugerens eget valgte password
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:15 #18
HVad skal man foretrække, er det ene mere sikkert end det andet?

JEg tænker på med rand kommer den altid med forskelligt, men i md5 kommer den med det samme. Men man kan ikke dekryptere siger i, for koden er jo nok bare en smule svær at gætte.!

Men hvad er sikrest?
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:16 #19
I rand det skifter den ikke hvis siden ikke opdateres!
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:17 #20
Den skifter sltså ikke hvis man går fa siden. og åbner den på ny!
Avatar billede stalle Nybegynder
01. juli 2004 - 23:17 #21
md5 er at foretrække - rand() giver jo bare et eller andet tal, som for så vidt godt kan være det samme ved to forskellige brugere.
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:19 #22
der findes altså ingen maskiner den kan dekryptere md5?
Avatar billede stalle Nybegynder
01. juli 2004 - 23:21 #23
Nej
Avatar billede stalle Nybegynder
01. juli 2004 - 23:22 #24
Hvad er det forresten for en side du er ved at lave ?

Har jo lagt mærke til at du inden for det sidste har spurgt en del. :-D
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:24 #25
community, du kan godt oprette bruger nu, men den er endnu ikke krypteret.
hvad med nyhedsbrev, er bruger de jo ikke kode, hvordan skal manklare den, skal jeg bare bruge rand() der? og evt. kryptere den rand() hvad mener du.

www.friendsavisen.1go.dk
> community!
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 23:27 #26
SYSTEM BLIVER USTABILT NU!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester