Avatar billede hopeless Nybegynder
11. oktober 2003 - 17:42 Der 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§

Hvordan gør jeg det smartest?
Avatar billede netro Nybegynder
11. oktober 2003 - 17:46 #1
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
Avatar billede dawin_dk Nybegynder
11. oktober 2003 - 17:50 #2
http://www.4guysfromrolla.com/webtech/010100-1.shtml

Krypterer ifølge RC4-logaritmen .. og der ligger kildekode :)
Avatar billede netro Nybegynder
11. oktober 2003 - 17:52 #3
Du kan så lave din querystring således:

Response.Redirect "dinside.asp?str=" & Server.URLencode(Krypter("Bla bla"))

- og aflæse den sådan:

Dekrypter(Request.Querystring("str"))
Avatar billede netro Nybegynder
11. oktober 2003 - 20:58 #4
Du kan også lave en MD5-hash med javascript eller ASP. Jeg har et script, du kan få, hvis det har interesse.
Avatar billede olebole Juniormester
12. oktober 2003 - 01:32 #5
Avatar billede jpvj Nybegynder
12. oktober 2003 - 01:34 #6
netro> Kan du ikke lige redegøre for, hvordan du vil "dekryptere" din MD5 hash?

(HINT: HASH funktionr er envejs!!!)
Avatar billede olebole Juniormester
12. oktober 2003 - 01:55 #7
HINT 1: HASH er mange ting  *-\
HINT 2: Brug HMAC  ;o)

Andet link om (pseudo) 'kryptering':
  http://pajhome.org.uk/crypt/
... ikke mindst:
  http://pajhome.org.uk/crypt/md5/index.html
/mvh
Avatar billede jpvj Nybegynder
12. oktober 2003 - 02:10 #8
Hey Ole!

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.

JP

JP
Avatar billede jpvj Nybegynder
12. oktober 2003 - 02:15 #9
Hov: Det var ikke lige dit eksempel jeg ref. til.
Avatar billede olebole Juniormester
12. oktober 2003 - 02:44 #10
Jeg er helt med på, der ikke er tale om kryptering ... derfor skrev jeg også: (pseudo) 'kryptering'.

Måske, jeg ikke har forstået, hvad hopeless vil bruge det til(?)  :)
/mvh
Avatar billede netro Nybegynder
12. oktober 2003 - 03:31 #11
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.
Avatar billede jpvj Nybegynder
12. oktober 2003 - 03:43 #12
Enten skal det gøres "rigtigt" dvs. assymetrisk kryptering, eller også kan man brygge hvad man vil.

En rigtig quick'n-dirty ville ex. være ROT 13 ...
Avatar billede netro Nybegynder
12. oktober 2003 - 03:46 #13
Måske hopeless skulle skulle starte med at "brygge" et indlæg...
Avatar billede olebole Juniormester
12. oktober 2003 - 03:47 #14
Oooops .... nej, skal det genskabes, skal der bruges rigtig kryptering  :)
/mvh
Avatar billede hopeless Nybegynder
12. oktober 2003 - 12:27 #15
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.
Avatar billede netro Nybegynder
12. oktober 2003 - 16:02 #16
Nej, du skal lige angive en krypteringsnøgle over de to funktioner også:

krypt = "valgfri streng"
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 16:03 #17
Jeg tror jeg kan se hvad du vil - men hvorfor?
Avatar billede thesurfer Nybegynder
12. oktober 2003 - 16:13 #18
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)?
Avatar billede olebole Juniormester
12. oktober 2003 - 22:18 #19
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
Avatar billede dawin_dk Nybegynder
12. oktober 2003 - 22:57 #20
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 :)
Avatar billede wzarlon Nybegynder
13. oktober 2003 - 09:04 #21
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.
Avatar billede wzarlon Nybegynder
13. oktober 2003 - 09:11 #22
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.
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
Kurser inden for grundlæggende programmering

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