11. oktober 2003 - 17:42Der er
19 kommentarer og 3 løsninger
simpel kryptering af querystring
Hej,
Jeg vil lige rode lidt med at sætte en simpel kryptering på min querystrings.
Jeg skal lige høre jer om nemmeste måde at lave en form for ordbog mellem A-Z bogstaver,tal samt udvalgte tegn.
Jeg vil godt opbygge liste hvor hvert bogstav i alfabetet, samt de udvalgte tegn og tal får hver sin hex værdi eller lign: eksempel: a = x;&dd b = p?&5r c = av59s osv. 1 = dj22= 2 = vlal§
Måske du kan bruge følgende, jeg fandt i et andet spørgsmål:
Function Krypter(Streng) for tal1 = 0 to len(Streng) for tal2 = 1 to len(krypt) kontrol = tal1*len(krypt) + tal2 if kontrol <= len(Streng) then original = asc(mid(Streng,kontrol,1)) ny = asc(mid(krypt,tal2,1)) nytekst = nytekst + chrw(original + ny) end if next next Krypter = nytekst End Function
Function Dekrypter(Streng) for tal1 = 0 to len(Streng) for tal2 = 1 to len(krypt) kontrol = tal1*len(krypt) + tal2 if kontrol <= len(Streng) then original = ascw(mid(Streng,kontrol,1)) ny = asc(mid(krypt,tal2,1)) nytekst = nytekst + chrw(original - ny) end if next next Dekrypter = nytekst End Function
Kan ikke lige se, hvad en HASH/MAC har med kryptering at gøre?
Hvis der skal laves noget sikkert kryptering, så er den eneste måde en public key til klienten (eller noget key exchange, ex. Diffie-Hellman) og javascript til at kryptere med.
Det viste eksempel omhandler authentication, hvor der kun tranmitteres en hash digest. Dette kan jo ikke benyttes i almindelighed.
jpvj -> Det bliver svært, eftersom det *ikke* kan lade sig gøre. Jeg glemte, at den originale streng skulle kunne genskabes igen, da jeg postede indlægget. Derfor må jeg fastholde mit første foreslag.
Uha der er sket meget her! Fra MD5-hash, RC4-logaritmen til HMAC og keyexchange. Og ikke mindst ROT 13.
Ok, jeg har ikke brug for en eller anden forkromet krypteringsalgoritme, jeg vil nu bare lave en helt simpel en selv til brug for at "skjule" mine querystrings for mine brugere! En querystring som: minside.asp?id=12&kid=22&mid=1102 ville jeg lave om til minside.asp?3#d:5%%f23¤"gkd?1§23/& (=læs: noget ulæsligt tekst)
Så hver gang en af mine sider sender data via URL'n skal den SIMPEL krypter det, og den side som skal fange querystringen skal så dekrypter den.
Jeg havde bare forestillet mig en form for opslagsværk, som en ordbog, da jeg ved hvilke bogstaver,tal og tegn der vil komme i den querystring!
Netro: Dit første eksempel har jeg leget lidt med, men det virker ik helt.
hmm.. jeg går ud fra at du har en form, hvor brugeren indtaster "søgeord", og bruger method="get", for at bruge querystring..
men, hvis "a" har en bestemt værdi "x;&dd", kan man teste hver enkelt bogstav for at få hele alfabetet.. med mindre du encryptorerer hele søge-sætningen, og så har du at a ikke er "x;&dd"..
men som ericjacobsen skrev, hvorfor vil du gøre det? hvad får du ud af det?
..er der en speciel grund til at du vil bruge request.querystring (urlen) i stedet for request.form (formen)?
Man kunne forestille sig, spørgeren vil forsøge at gøre det lidt mere bøvlet at 'malke' en database (?) - hvilket jo kan være en snild sag på mange sites (selvom det er ulovligt at gøre det).
Alm. ROT 13 er i den forbindelse en simpel mulighed - men meget let at omgå. Så er det bedre at bruge ROT 13 med et velblandet alfabet (og naturligvis det samme i hver ende). /mvh
hvis du vil ha ordentligt sikkerhed på det så det ik kan "malkes" så er det jo bare at bruge session-id som password... vil gøre det ret besværligt i forbindelse med urlgrabbers... problemet i det kommer så med... man kan ik deeplinke eller sende et link til en ven :)
Først og fremmest gør jeg dette af ren læring. Desuden vil jeg godt gøre det mere besværlige at "malke" min databaser. Med den simple kryptering, havde jeg forestillet mig at man nok reducerer "malke" forsøgene med 90% eller lign.
Jeg har ikke forestillet mig at der skulle bruges en nøgle til dette.
Og, jeg sender ikke værdier til URL'en via forms. (get/post), men via alm. querystrings, som bliver autogenereret på mine sider, afhængig af databaseindholdet.
Jeg bruger ikke usersessions, da denne site ikke har fordel af det. (Pånær til en kryptering måske)
Thesurfer:: Ja, det er rigtigt at folk kan finde hele alfabetet, hvis de lægger kræfter i, men det er ok, hvis de gider lægge det arbejde i det :)
Som jeg læser af dette i har skrevet, skal jeg måske kigge nærmere op ROT 13
Bemærk: Jeg bruger både deeplinking iform af søgemaskiner, og send side til ven.
Til dem som nu brokker sig over 2 brugernavne, er den simple årsag at mit stofanet er lukket pga. fraflytning, så jeg kunne ikke få mit password sendt til mig. Ny email er: admin@wzarlon.dk Når point i dette spm er givet, lukkes hopeless account.
Synes godt om
Ny brugerNybegynder
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.