Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    Funzione di criptaggio dati

    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:

    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>
    la funzione RC4:

    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
    %>

  2. #2
    ???

    Devi ancora dare l'esame di Matematica Discreta?

    Ogni algoritmo ha bisogno di una sua chiave per criptare.
    Come fa a criptare senza chiave?

    La chiave è il punto di partenza, poichè in base a quella l'algoritmo cripta.

    Nella fattispecie, se tutti i file criptati non avessero la chiave come dici tu... allora non ci vorrebbe un cavolo a decriptare tutto non appena si è capito l'algoritmo.

    Ciao.
    Think global, act local.

  3. #3
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Questa funzione ha già la chiave di suo, non c'è necessità di impostarla al momento:

    http://www.cyberactiva.com/dettaglio.asp?id=368
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.