Avatar billede dennism Nybegynder
17. februar 2006 - 10:04 Der er 15 kommentarer og
1 løsning

PHP: Hvilken kryptering?

Jeg har en user-fil til et program (.XML), hvori mit password er angivet således:
<Password>iyzz</Password>

Mit kodeord er "test".

Jeg er nu ved at lave et PHP script, som kan redigere denne user-fil, men ved ikke hvordan jeg skal på krypteret min kode fra test til dette.

Håber der er nogen der kan hjælpe mig med det?

(beklager men har ikke flere point)
Avatar billede barklund Nybegynder
17. februar 2006 - 10:14 #1
Du kan håbe på, at det er en simpel cipher på et eller andet ikke alt for langt ord. Prøv at lave din kode til aaaaaaaaaaaaaaaa, og se hvad den bliver til. Men det kan også sagtens være noget mere kompliceret, så man skal rode en del rundt med det, for at genskabe.
Avatar billede dennism Nybegynder
17. februar 2006 - 10:24 #2
aaaaaaaaaaaaaaaa
Giver:
qrstuvwxyz{|}~€

Kan du konkludere noget ud fra det? :)
Avatar billede dennism Nybegynder
17. februar 2006 - 10:31 #3
Jeg har et andet program, som måske er nemmere (det kan vi godt tage istedet).
Der bliver test til:
Password=viDBEE72BC3BA71C06EC62633C40EE6699

Håber den er nemmere? :)
Avatar billede dennism Nybegynder
17. februar 2006 - 10:32 #4
aaaaaaaaaaaaaaaa
Giver:
Password=enE6E7AE14DF023DABA18DFFA59CDAED9D
Avatar billede dennism Nybegynder
17. februar 2006 - 10:39 #5
Jeg kan se, at jeg har mulighed for at vælge hvilken kryptering der skal bruger.
Jeg har følgende at vælge imellem:
Regular password
OTP S/KEY MD4
OTP S/KEY MD5

Ved "test" giver de henholdsvis:
rn4C2B5F4389B97B21A9F1A96CC2074827
50255040
50255040

Hermed er der to ting der undrer mig. Hvorfor bliver det krypterede password et andet ved test anden gang jeg krypterer det (har prøvet flere gange, og det blir forskelligt hver gang). Hvorfor er de to sidste ens?
Håber det er muligt at selv at kryptere disse værdier?
Avatar billede barklund Nybegynder
17. februar 2006 - 10:47 #6
Altså, MD4 og MD5 er ikke kryptering, men derimod hashing. Dem kan du godt lave selv, hvis du ved præcist, hvordan de er hashet. Hvilket stykke software er der forresten tale om?

Det første program så dog ret nemt ud, da det tyder på at blot flytte første bogstav 16 pladser, andet bogstav 17 pladser, tredje bogstav 18 pladser, ... Prøv i det første program at lade dit kodeord være en milliard a'er - for så kan du se hele det "alfabet" som programmet bruger til at "kryptere" over.
Avatar billede dennism Nybegynder
17. februar 2006 - 10:59 #7
Det lader til, at hvis jeg tager md5-værdien af test og erstatter med f.eks. "rn4C2B5F4389B97B21A9F1A96CC2074827" som password, så kan jeg godt komme ind.

Dermed kan jeg bare bruger regular password, og så lave dem med md5.
Avatar billede barklund Nybegynder
17. februar 2006 - 11:18 #8
Great - men det er så ikke kryptering, blot hashing :)
Avatar billede dennism Nybegynder
17. februar 2006 - 12:05 #9
Hmm..det lader til, at det med md5() giver problemer på nogle tidspunkter :(

Kan du hjælpe mig med at hashe/kryptere fra test til "50255040"?
Altså OTP S/KEY MD5.
Avatar billede barklund Nybegynder
17. februar 2006 - 12:27 #10
Ikke umiddelbart - det første program kunne jeg lige gennemskue - ikke det andet :)
Avatar billede barklund Nybegynder
17. februar 2006 - 12:27 #11
Men hvilket program er det?
Avatar billede dennism Nybegynder
17. februar 2006 - 12:31 #12
Programmet hedder Serv-U, og er det FTP-server program.
Avatar billede barklund Nybegynder
17. februar 2006 - 13:32 #13
Well, er det open-source eller på anden måde et åbent program - for så kan du jo kigge i kilden for at se, hvordan adgangskoderne bliver genererede.
Avatar billede olebole Juniormester
17. februar 2006 - 22:08 #14
<ole>

Den er nu ikke så svær at gennemskue:

<?php
function getRndChar() {
    $char = "abcdefghijklmnopqrstuvwxyz";
    return $char[ mt_rand(0, strlen($char)-1) ];
}
function myCrypt($s) {
    $prefix = getRndChar().getRndChar();
    $s = $prefix.strToUpper( md5($prefix.$s) );
    return $s;
}
print myCrypt("test");
?>

/mvh
</bole>
Avatar billede olebole Juniormester
17. februar 2006 - 22:09 #15
- men den lader sig ikke så let reversere  ;o)
Avatar billede olebole Juniormester
17. februar 2006 - 22:37 #16
Eksemplet fra (17/02-2006 10:31:45) ser sådan ud, hvis vi lægger prefikset fast til 'vi':

$s = "test";
$prefix = "vi";
$s = $prefix.strToUpper( md5($prefix.$s) );
print $s;
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