Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274

    Programmino per la crittografia

    non mi funziona sto programmino , chi vuole può dargli un occhiata

    codice:
    scala = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", vbCrLf, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "è", "à", "ù", "&", "/", "(", ")", "?", "^", "!", "$", "%", "§", "#", "-", "@")
    
    ' inseriamo il testo
    testo = Me.text
    
    
    'controlliamo la lunghezza del testo
    lunghezza = Len(testo)
    
    
    ' mettiamo il testo in un array
    
    For i = 1 To lunghezza
    
     y = Mid(testo, i, 1)
     
      For x = 0 To 52
      
      If y = scala(x) Then
      
      text(i) = x
      
      End If
      
      Next x
      
    Next i
    
    ' calcoliamo la chiave
    i = 1
    Do While (i <= lunghezza)
    casuale = Int((26 * Rnd) + 1)
    chiave(i) = casuale
    i = i + 1
    Loop
    
    ' siccome con il precedente for mettiamo una sequenza casuale di numeri , trasformiamo la sequenza numerica nella
    ' chiave scritta
    
    
    chiave_generata = ""
    
    For i = 1 To lunghezza
    
    chiave_generata = chiave_generata + scala(chiave(i))
    
     Next
     
     
    
    
    
    ' ora si calcola il testo criptato
    
    For x = 1 To lunghezza
    crypt(x) = CInt(text(x)) + CInt(chiave(x))
    
    ' per non avere spazi o invi nella chiave
    
    If crypt(x) = 27 Then
    crypt(x) = Int((26 * Rnd) + 1)
    ElseIf crypt(x) = 28 Then
    crypt(x) = Int((26 * Rnd) + 1)
    End If
    Next
    
    
    ' si trasforma il testo criptato(numerico) ---> testo criptato(letterale)
    
    testo_definitivo = ""
    For i = 1 To lunghezza
    y = scala(crypt(i))
    testo_definitivo = testo_definitivo + y
    Next
    
    
    Open "C:\salva.txt" For Output As #1
    Print #1, "Chiave generata"; vbCrLf; "----------------------------------------- Enry_Key -----------------------------------------"; vbCrLf; vbCrLf; "|"; chiave_generata; "|"; vbCrLf; vbCrLf; vbCrLf; "--------------------------------------- End Enry_Key ---------------------------------------"; vbCrLf; vbCrLf; vbCrLf; vbCrLf; "--------------------------------------------------------------------------------------------------"; vbCrLf; "Testo criptato"; vbCrLf; "--------------------------------------------------------------------------------------------------"; vbCrLf; vbCrLf; vbCrLf; vbCrLf; "|"; testo_definitivo; "|"; ""
    Close #1

  2. #2
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    QUesto è quello per decriptare

    codice:
    scala = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", vbCrLf, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "è", "à", "ù", "&", "/", "(", ")", "?", "^", "!", "$", "%", "§", "#", "-", "@")
    
    testo = Me.testo
    chiave = Me.chiave
    
    
    ' troviamo la posizione dell testo
    
    For i = 1 To Len(testo)
    
    y = Mid(testo, i, 1)
    
      For x = 0 To 52
      
         If y = scala(x) Then
         
         posizione_testo(i) = x
        
         
         End If
     
    
    
     Next x
     
    Next i
    
    ' troviamo la posizione della chiave
    
    For i = 1 To Len(chiave)
    
    y = Mid(chiave, i, 1)
    
      For x = 0 To 52
      
         If y = scala(x) Then
         
         posizione_chiave(i) = x
        
         End If
     
    
    
     Next x
     
    Next i
    
    ' troviamo la posizione del testo in chiaro
    
    For i = 1 To Len(chiave)
    testo_chiaro(i) = CInt(posizione_chiave(i)) - CInt(posizione_testo(i))
    If testo_chiaro(i) < 0 Then
    testo_chiaro(i) = -testo_chiaro(i)
    End If
    Next
    
    
    testo_definitivo = ""
    For i = 1 To Len(chiave)
    y = scala(testo_chiaro(i))
    testo_definitivo = testo_definitivo + y
    Next
    
    
    Me.testo = testo_definitivo

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    A il funzionamento avviene cosi:


    -> Si mette il testo

    -> Si calcola 1 chiave random della stessa lunghezza del testo

    a b c d e f g h ..... etc

    1 2 3 4 5 6 7 8 ...... etc


    Quindi si procede a sommare lettera(testo) + lettera(chiave_generata)

    quindi :

    testo: abc

    chiave_generata: bfg


    a = 1
    b = 2
    c = 3

    b = 2
    f = 6
    g = 7

    a+b = 1+2 = 3 ==> c
    b+f = 2+6 = 8 ==> h
    c+g= 7+3 = 10 => l

    Testo_criptato = chl

    Spero di essere stato chiaro

    bye

    ( se sei arrivato a leggere fino a qua sei 1 eroe)

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Qual è il problema ?
    Come hai tirato fuori la chiave bfg ?
    ... e non usare while wend è una sintassi deprecata

  5. #5
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    nexsus, ti invito a leggere il ns regolamento:

    specifica linguaggio e versione, anche nel titolo, e includi il codice nel tag [*code] ... [*/code] (senza asterischi)
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    Linguaggio : Visual basic

    il codice sono i primi 2 post

    il primo per criptare
    il secondo per decriptare



    la chiave viene generata casualemente all'inizio ( il valore viene pigliato dall'array )

    i = 1
    Do While (i <= lunghezza)
    casuale = Int((26 * Rnd) + 1)
    chiave(i) = casuale
    i = i + 1
    Loop

  7. #7
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    274
    sega questo post plz che da mail non ci riesco

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.