anoniem Geplaatst: 26 december 2002 Delen Geplaatst: 26 december 2002 Ik heb een inlog-pagina gemaakt die het wachtwoord moet onthouden. Deze bevat boven de HTML-code de volgende ASP-code: [code:1:f30fc8119e]<% DIM Loginnaam DIM Wachtwoord Loginnaam = Request.Cookies("Profiel")("Loginnaam") Wachtwoord = Request.Cookies("Profiel")("Wachtwoord") %>[/code:1:f30fc8119e] Op de inlog_verwerken-pagina heb ik de volgende code staan die de Cookie bakt: [code:1:f30fc8119e]<% Loginnaam = REPLACE(REQUEST.FORM("Loginnaam"), "'", "''") Wachtwoord = REPLACE(REQUEST.FORM("Wachtwoord"), "'", "''") Onthouden = REQUEST.FORM("Onthouden") IF Onthouden = "ON" THEN Response.Cookies("Profiel").Expires=date+365 Response.Cookies("Profiel")("Loginnaam")= Loginnaam Response.Cookies("Profiel")("Wachtwoord")= Wachtwoord END IF %> [/code:1:f30fc8119e] Maar als ik opnieuw wil inloggen dat onthoud hij de ingevulde waardes niet. Wat doe ik verkeerd? Quote Link naar reactie
anoniem Geplaatst: 26 december 2002 Auteur Delen Geplaatst: 26 december 2002 Foutje.... de .asp pagina werd niet helemaal ingeladen. Nu werkt het. Volgend probleempje: Ik wil de waarden in de cookie encrypten. Ik heb inmiddels de volgende code: [code:1:68dfe8ad07]Private Function Encrypt(strOriginal) Dim strNew ' As String Dim i ' As Integer For i = 1 To Len(strOriginal) If strNew <> "" Then strNew = strNew & "-" End If strNew = strNew & _ Asc(Mid(strOriginal, i, 1)) + 20 Next ' i Encrypt = strNew End Function[/code:1:68dfe8ad07] Hoe kan ik mijn waarde nu door deze routine heen laten gaan? Quote Link naar reactie
anoniem Geplaatst: 27 december 2002 Auteur Delen Geplaatst: 27 december 2002 Bedoel je hoe je de ge-encrypte waarde weer in je hoofdroutine krijgt? Gaat als volgt: Wachtwoord = Encrypt(Wachtwoord) Response.Cookies("Profiel")("Wachtwoord")= Wachtwoord ... enz. M.a.w. je roept de functie aan met als argument de variable Wachtwoord. Het resultaat zet je in een variabele met dezelfde naam (tenzij je het origineel natuurlijk nog ergens voor nodig hebt). Quote Link naar reactie
anoniem Geplaatst: 28 december 2002 Auteur Delen Geplaatst: 28 december 2002 Thanx, Ik ga ermee aan de slag. Quote Link naar reactie
anoniem Geplaatst: 28 december 2002 Auteur Delen Geplaatst: 28 december 2002 Het encrypten lukt, maar ik krijg een foutmelding als ik ga decrypten: [quote:d4d6e68a4c]Microsoft VBScript runtime error '800a000d' Type mismatch /temp/encrypten.asp, line 6 [/quote:d4d6e68a4c] Bij de volgende code: [code:1:d4d6e68a4c]Private Function Decrypt(strEncrypted) Dim strNew 'As String Dim a_strCharacters() 'As String Dim i ' As Integer a_strCharacters = _ Split(strEncrypted, "-") For i = 0 To UBound(a_strCharacters) strNew = strNew & _ Chr(CInt(a_strCharacters(i)) - 20) Next ' i Decrypt = strNew End Function[/code:1:d4d6e68a4c] Quote Link naar reactie
anoniem Geplaatst: 28 december 2002 Auteur Delen Geplaatst: 28 december 2002 Ik heb hier een tijd naar zitten kijken en eerlijk gezegd snap ik niet echt de manier van versleutelen ('t is tenslotte al laat ;)). Los daarvan kun je zelf wel uitvinden wat er precies fout gaat. Ik neem aan dat regel 6 de volgende regel is: [code:1:a17d6937f9] strNew = strNew & Chr(CInt(a_strCharacters(i)) - 20) [/code:1:a17d6937f9] Er kunnen verschillende dingen fout gaan: - de conversie naar de integer: het argument is leeg of bevat geen numerieke waarde - De Chr-functie werkt niet helemaal lekker. Ik weet niet wat er gebeurt bij waarden kleiner dan 0 en groter dan 255. Je kunt het volgende doen: Deze regel opsplitsen in meerdere regels en telkens het resultaat naar het scherm wegschrijven. Dan krijg je iets als dit: [code:1:a17d6937f9] For i = 0 To UBound(a_strCharacters) response.write "i: " & i teken = a_strCharacters(i) response.write "<br>Teken: " & teken intTeken = CInt(teken) - 20 response.write "<br>Integer: " & intTeken ascii = Chr(intTeken) response.write "<br>ASCII: " & ascii strNew = strNew & ascii response.write"<br>String: " & strNew Next [/code:1:a17d6937f9] Ik denk dat je op deze manier de fout vlug boven water hebt. Suc6. Quote Link naar reactie
anoniem Geplaatst: 29 december 2002 Auteur Delen Geplaatst: 29 december 2002 [quote:910ccd69b7="Bigfoot"]Ik heb hier een tijd naar zitten kijken en eerlijk gezegd snap ik niet echt de manier van versleutelen ('t is tenslotte al laat ;)). [/quote:910ccd69b7] Da's geen excuus ;) De functie is de term encryptie bijna niet waardig. Overigens is de fout zo verholpen door dit te veranderen: Dim a_strCharacters() 'As String in dit: Dim a_strCharacters 'As String Quote Link naar reactie
anoniem Geplaatst: 30 december 2002 Auteur Delen Geplaatst: 30 december 2002 Wat is nu een goede encryptie methode, want het standaard omzetten in ASCII is natuurlijk link, aangezien velen die code makkelijk terug zetten. Quote Link naar reactie
anoniem Geplaatst: 30 december 2002 Auteur Delen Geplaatst: 30 december 2002 Er zijn hele websites volgeschreven over de verschillende encryptie methoden dus dat moet zo gevonden zijn. Overigens moet je wel bedenken dat je voor het gebruik daarvan in ASP vaak een losse component nodig hebt die op de server geinstalleerd moet zijn/worden. Overigens zijn er waarschijnlijk ook wel wat betere vbscript encryptie functies te vinden (zeker one-way encryptie). Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen