Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 29 su 29
  1. #21
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    ok torniamo a noi... sempre utilizzando il codice postato prima, ok per convenzione lo riposto...

    codice:
    'Codifico l'oggetto del messaggio
    flag=0
    NuovoOggetto=Oggetto
    CostruzioneOggetto=""
    if (len(NuovoOggetto)>0) and (len(NuovoOggetto)<=80) then
      for i=1 to len(NuovoOggetto)
    	Carattere=""
    	Carattere = mid(Oggetto,i,1)
    	Numero = Asc(Carattere)
    	NuovoNumero = Numero+Chiave
    	NuovoCarattere = Chr(NuovoNumero)
    	CostruzioneOggetto = CostruzioneOggetto & NuovoCarattere
      next
      OggettoFinale = CostruzioneOggetto & CodiceChiave 
    else
      flag=1
    end if  
    
    'Codifico il testo del messaggio
    flag=0
    NuovoMessaggio=Message
    CostruzioneMessaggio=""
    if len(NuovoMessaggio)>0 then
      for i=1 to len(NuovoMessaggio)
    	CarattereM=""
    	CarattereM = mid(Message,i,1)
    	NumeroM = Asc(CarattereM)
    	NuovoNumeroM = NumeroM+Chiave
    	NuovoCarattereM = Chr(NuovoNumeroM)
    	CostruzioneMessaggio = CostruzioneMessaggio & NuovoCarattereM
      next
      MessaggioFinale = CostruzioneMessaggio & CodiceChiave 
    else
      flag=2
    end if  
    
    Session("Oggetto") = OggettoFinale
    Session("Messaggio") = MessaggioFinale
    Session("Operation") = "Codificato"
    
    if cint(flag)=0 then
      response.redirect("risultato.asp") 
    else
      response.redirect("crittografia.asp?Errore=" & flag)
    end if
    quando inserisco un testo lunghissimo mi da errore Http 500 errore interno del server e mia nonna in cariola come al solito...
    Tuttavia l'errore vero e proprio è questo:

    Microsoft VBScript runtime error '800a0005'

    Invalid procedure call or argument: 'Chr'

    /codifica.asp, line 53

    e la linea 53 del codice è: NuovoCarattereM = Chr(NuovoNumeroM)

    ora perchè mi dia errore sulla conversione da numero a carattere io proprio non lo so...
    Linux Inside

  2. #22
    prova con questo codice:
    codice:
    function codifica(testo,chiave)
    
    dim codificato,i,temp,numero
    
    if len(testo)=0 then
    codificato=false
    else
    	for i=1 to len(testo)
    	numero=(asc(mid(testo,i,1))+chiave)-255
    	if numero<0 then numero=numero*(-1)
    	temp=chr(numero)
    	codificato=codificato & temp
    	next
    codificato=codificato & chiave
    end if
    
    codifica=codificato
    end function
    
    
    function decodifica(testo,chiave)
    
    dim daDeCodificare,numero,temp,decodificato,i
    
    if len(testo)=0 then
    decodificato=false
    else
    daDeCodificare=left(testo,len(testo)-len(chiave))
    	for i=1 to len(daDeCodificare)
    	temp=asc(mid(testo,i,1))
    	numero=temp+255
    	
    		if numero>255 then
    		numero=temp-255
    			if numero<0 then numero=numero*(-1)
    		end if
    	
    	numero=numero-chiave
    	if numero<0 then numero=numero*(-1)
    	
    	decodificato=decodificato & chr(numero)
    	next
    end if
    
    decodifica=decodificato
    end function
    
    
    message="ciao mamma come stai? io bene grazie e tu? ma non so stavo meglio ieri"
    chiave=100
    
    
    testoCodificato=codifica(message,chiave)
    testoDeCodificato=decodifica(testoCodificato,chiave)
    
    if testoCodificato=false then
    response.write "è stato passato un testo vuoto in codifica
    "
    else
    response.write testoCodificato & "
    "
    end if
    
    if testoDeCodificato=false then
    response.write "è stato passato un testo vuoto in decodifica
    "
    else
    response.write testoDeCodificato & "
    "
    end if
    credo che chr andasse in errore perchè tu gli passavi un numero > 255 (se provi, chr(256) restituisce errore)

    forse come ho fatto io funziona, però nin so

  3. #23
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    sicuramente il tuo codice sarà validissimo, ma non credo sia dipeso dal superamento del valore 255 nel codice ascii e lo dimostra il fatto che imponendo la chiave ad un valore pari a 8 è andato in palla con lo stesso errore dopo un certo x di testo che fosse molto abbondante mentre tutto liscio con testi brevi...

    Linux Inside

  4. #24
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    credo di aver risolto imponendogli un valore minimo più piccolo... e diciamo che arribando al massimo ad una chiave di 16 non diciotto come prima o peggio 50 ancora prima sembra andare tutto bene.

    da qui il codice:

    codice:
    <%
    
    'Recupero i valori
    Oggetto = Request("Oggetto")
    Message = Request("Messaggio")
    
    'Determino i codici per la codifica
    ChiaveO=""
    ChiaveM=""
    
    Randomize 
    ChiaveO= int((16 * Rnd)+1)
    ChiaveM= int((16 * Rnd)+1)
    
    'Creo la chiave di codifica
    CodiceChiaveO=Chr(ChiaveO)
    CodiceChiaveM=Chr(ChiaveM)
    
    'Codifico l'oggetto del messaggio
    flag=0
    NuovoOggetto=Oggetto
    CostruzioneOggetto=""
    if (len(NuovoOggetto)>0) and (len(NuovoOggetto)<=80) then
      for i=1 to len(NuovoOggetto)
    	CarattereO=""
    	CarattereO = mid(Oggetto,i,1)
    	NumeroO = Asc(CarattereO)
    	NuovoNumeroO = NumeroO+ChiaveO
    	NuovoCarattereO = Chr(NuovoNumeroO)
    	CostruzioneOggetto = CostruzioneOggetto & NuovoCarattereO
      next
      OggettoFinale = CostruzioneOggetto & CodiceChiaveO 
    else
      flag=1
    end if  
    
    'Codifico del testo del messaggio
    NuovoMessaggio=Message
    CostruzioneMessaggio=""
    if (len(NuovoMessaggio)>0) then
      for j=1 to len(NuovoMessaggio)
    	CarattereM=""
    	CarattereM = mid(Message,j,1)
    	NumeroM = Asc(CarattereM)
    	NuovoNumeroM = NumeroM+ChiaveM
    	NuovoCarattereM = Chr(NuovoNumeroM)
        CostruzioneMessaggio = CostruzioneMessaggio & NuovoCarattereM
      next
      MessaggioFinale = CostruzioneMessaggio & CodiceChiaveM 
    else
      flag=2
    end if  
    
    Session("Oggetto") = OggettoFinale
    Session("Messaggio") = MessaggioFinale
    Session("Operation") = "Codificato"
    
    if cint(flag)=0 then
      response.redirect("risultato.asp") 
    else
      response.redirect("crittografia.asp?Errore=" & flag)
    end if
    
    %>
    ora non mi resta che fare la procedura di decodifica e vedere se mi ritorna tutto alle origini... speriamo...
    Linux Inside

  5. #25
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    x santino83_11_04


    devo ammettere che forse la tua prima deduzione non è stata sbagliata, pensavo di aver risolto ma anche su testi brevi ora comincia a fraloccare e andarmi in errore... ora proverò a prendere il tuo codice e ad adattarlo alle mie pagine.
    poi ti posto il codice da me modificato così se ti va mi puoi dare un occhio per vedere se con le mie modifiche è rimasto valido il meccanismo che hai progettato.

    ciao grazie
    Linux Inside

  6. #26
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    procedura di codifica

    codice:
    <%
    
    'Recupero i valori
    Oggetto = Request("Oggetto")
    Message = Request("Messaggio")
    
    'Determino i codici per la codifica
    Chiave=""
    
    Randomize 
    Chiave= int((100 * Rnd)+1)
    
    'Creo la chiave di codifica
    CodiceChiave=Chr(ChiaveO)
    
    function Codifica(testo,chiave)
    dim Codificato,i,temp,numero
    flag=0
    if len(testo)=0 then
      flag=1
    else
      for i=1 to len(testo)
    	numero=(asc(mid(testo,i,1))+chiave)-255
    	if numero<0 then numero=numero*(-1)
    	temp=chr(numero)
    	codificato=codificato & temp
      next
      codificato=codificato & CodiceChiave
    end if
    codifica=codificato
    end function
    
    OggettoCodificato = Codifica(Oggetto,Chiave)
    MessaggioCodificato = Codifica(Message,Chiave)
    
    Session("Oggetto") = OggettoCodificato
    Session("Messaggio") = MessaggioCodificato
    Session("Operation") = "Codificato"
    
    if cint(flag)=0 then
      response.redirect("risultato.asp") 
    else
      response.redirect("crittografia.asp?Errore=" & flag)
    end if
    sostanzialmente non ho fatto altro che prendere il tuo codice e adattarlo ricavando la variabile chiave in maniera random e non a determinazione fissa come avevi fatto tu, poi dopo ho modificato l'associazione perchè io faccio

    codificato=codificato & CodiceChiave

    ossia aggiungo il valore random recuperato ma trasformato pure lui in un carattere mentre tu lo associavi in forma numerica, avvio la funzione sulle due variabili e poi riporto il tutto alla pagina risultato con le variabili di sessione.
    mi sembra possa filare... giusto?
    Linux Inside

  7. #27
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    860
    procedura di decodifica

    codice:
    <%
    
    'Recupero i valori
    Oggetto = Request("Oggetto")
    Message = Request("Messaggio")
    
    
    'Recupero l'ultimo valore della stringa
    UltimoCarattere = right(Oggetto,1) 
    Chiave = Asc(UltimoCarattere)
    
    'riporto il messaggio alla lunghezza originale e quindi senza codice aggiunto
    i = len(Oggetto)-1
    j = len(Message)-1
    OggettoCod = left(Oggetto,i)
    MessaggioCod = left(Message,j)
    
    function decodifica(testo,chiave)
    dim daDeCodificare,numero,temp,decodificato,i
    flag=0
    if len(testo)=0 then
      flag=1
    else
      daDeCodificare=left(testo,len(testo)-len(chiave))
      for i=1 to len(daDeCodificare)
    	temp=asc(mid(testo,i,1))
    	numero=temp+255
    	if numero>255 then
          numero=temp-255
    	  if numero<0 then numero=numero*(-1)
    	end if
    	numero=numero-chiave
    	if numero<0 then numero=numero*(-1)
    	  decodificato=decodificato & chr(numero)
      next
    end if
    decodifica=decodificato
    end function
    
    OggettoDeCodificato=decodifica(OggettoCod,Chiave)
    MessaggioDeCodificato=decodifica(MessaggioCod,Chiave)
    
    Session("Oggetto") = OggettoDeCodificato
    Session("Messaggio") = MessaggioDeCodificato
    Session("Operation") = "Decodificato"
    
    if cint(flag)=0 then
      response.redirect("risultato.asp") 
    else
      response.redirect("crittografia.asp?Errore=" & flag)
    end if
    
    %>
    recupero le variabili, taglio l'ultimo carattere a destra della stringa codificata e separo il carattere che mi rappresenta la chiave dal messaggio senza codifce.
    riporto il carattere di codice al valore numerico e poi parte la funzione.

    potrebbe andare?
    Linux Inside

  8. #28
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Posti anche risultato.asp e crittografia.asp ?
    Così riesco a provarlo per bene....

  9. #29
    io avevo fatto queste due function
    codice:
    function codifica(testo,chiave)
    
    function decodifica(testo,chiave)
    le quali, dato un testo e una chiave codificavano/decodificavano il testo passato...la chiave era intesa numerica e veniva salvata in fondo al testo nella codifica e poi ripresa nella decodifica (una cavolata, però avevi fatto te così)

    sinceramente non ho capito se le due funzioni che ti ho passato funzionino o se hanno avuto bisogno di correzione...sinceramente sono un pò fuso stasera e non riesco a leggere bene il codice da te postato

    cmq spero di essere stato d'aiuto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.