Buonasera al forum.
Vorrei utilizzare l'algoritmo RC4 per criptare al momento della registrazione in un db mysql l'account e la password; ho trovato questo esempio ma vorrei capire perchè chiede una key insieme al messaggio da criptare.
Non è possibile farlo funzionare soltanto inserendo il msg che poi non sarebbe altro che la psw utente?
Il form:
la funzione RC4:codice:<%Option Explicit%> <% Dim lStrKey Dim lStrMessage Dim lStrResult If Not Request.Form = "" Then lStrKey = Request.Form("Key") lStrMessage = Request.Form("Message") lStrResult = RC4(lStrMessage, lStrKey) End If %> <HTML> <HEAD> <TITLE>RC4 Encryption</TITLE> </HEAD> <BODY> <FORM method="Post"> Key: <INPUT name="Key" value="<%=Server.HTMLEncode(lStrKey)%>" size="20"> Message: <TEXTAREA name="Message" rows="6" cols="50"><%=Server.HTMLEncode(lStrResult)%></TEXTAREA> <INPUT type="Submit" value="Apply RC4"> </FORM> </BODY> </HTML>
codice:<% Function RC4(ByRef pStrMessage, ByRef pStrKey) Dim lBytAsciiAry(255) Dim lBytKeyAry(255) Dim lLngIndex Dim lBytJump Dim lBytTemp Dim lBytY Dim lLngT Dim lLngX Dim lLngKeyLength ' Validate data If Len(pStrKey) = 0 Then Exit Function If Len(pStrMessage) = 0 Then Exit Function ' transfer repeated key to array lLngKeyLength = Len(pStrKey) For lLngIndex = 0 To 255 lBytKeyAry(lLngIndex) = Asc(Mid(pStrKey, ((lLngIndex) Mod (lLngKeyLength)) + 1, 1)) Next ' Initialize S For lLngIndex = 0 To 255 lBytAsciiAry(lLngIndex) = lLngIndex Next ' Switch values of S arround based off of index and Key value lBytJump = 0 For lLngIndex = 0 To 255 ' Figure index to switch lBytJump = (lBytJump + lBytAsciiAry(lLngIndex) + lBytKeyAry(lLngIndex)) Mod 256 ' Do the switch lBytTemp = lBytAsciiAry(lLngIndex) lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump) lBytAsciiAry(lBytJump) = lBytTemp Next lLngIndex = 0 lBytJump = 0 For lLngX = 1 To Len(pStrMessage) lLngIndex = (lLngIndex + 1) Mod 256 ' wrap index lBytJump = (lBytJump + lBytAsciiAry(lLngIndex)) Mod 256 ' wrap J+S() ' Add/Wrap those two lLngT = (lBytAsciiAry(lLngIndex) + lBytAsciiAry(lBytJump)) Mod 256 ' Switcheroo lBytTemp = lBytAsciiAry(lLngIndex) lBytAsciiAry(lLngIndex) = lBytAsciiAry(lBytJump) lBytAsciiAry(lBytJump) = lBytTemp lBytY = lBytAsciiAry(lLngT) ' Character Encryption ... RC4 = RC4 & Chr(Asc(Mid(pStrMessage, lLngX, 1)) Xor lBytY) Next End Function %>

Rispondi quotando