Non hai eseguito l'accesso.

BradCripter cripta seguendo il cifrario di Cesare (a = D)
Che altro ve devo di'.. ecco il sorcio:
#cs ----------------------------------------------------------------------------
--->BradCripter
-Permette di criptare un testo tramite il cifrario di Cesare
-Autore: Bradiposo
-Email: mr-kappa@hotmail.it
#ce ----------------------------------------------------------------------------
#include <guiedit.au3>
#include <guiconstantsex.au3>
$bc = GUICreate("BradCripter",420,420)
$edit = GUICtrlCreateEdit("Scrivi qui il testo da criptare o decriptare",10,180,400,200)
$bottone1 = GUICtrlCreateButton("Cripta",10,385,200,30)
$bottone2 = GUICtrlCreateButton("Decripta",210,385,200,30)
GUICtrlCreatePic(@scriptdir&"\logo.gif", 10, 10, 394, 172)
GUISetState(@SW_SHOW, $bc)
While 1
Switch GUIGETMSG()
case $GUI_EVENT_CLOSE
Guidelete()
exitloop
Case $bottone1
$ms = GUICtrlRead($edit)
$split = StringSplit($ms,"")
GUICtrlSetData($edit, "" )
For $i = 1 To UBound($split)-1
if $split[$i] = "a" Then
$split[$i] = "D"
ELSEif $split[$i] = "b" Then
$split[$i] = "E"
ELSEif $split[$i] = "c" Then
$split[$i] = "F"
ELSEif $split[$i] = "d" Then
$split[$i] = "G"
ELSEif $split[$i] = "e" Then
$split[$i] = "H"
ELSEif $split[$i] = "f" Then
$split[$i] = "I"
ELSEif $split[$i] = "g" Then
$split[$i] = "K"
ELSEif $split[$i] = "h" Then
$split[$i] = "L"
ELSEif $split[$i] = "i" Then
$split[$i] = "M"
ELSEif $split[$i] = "k" Then
$split[$i] = "N"
ELSEif $split[$i] = "l" Then
$split[$i] = "O"
ELSEif $split[$i] = "m" Then
$split[$i] = "P"
ELSEif $split[$i] = "n" Then
$split[$i] = "Q"
ELSEif $split[$i] = "o" Then
$split[$i] = "R"
ELSEif $split[$i] = "p" Then
$split[$i] = "S"
ELSEif $split[$i] = "q" Then
$split[$i] = "T"
ELSEif $split[$i] = "r" Then
$split[$i] = "U"
ELSEif $split[$i] = "s" Then
$split[$i] = "V"
ELSEif $split[$i] = "t" Then
$split[$i] = "W"
ELSEif $split[$i] = "u" Then
$split[$i] = "X"
ELSEif $split[$i] = "v" Then
$split[$i] = "Y"
ELSEif $split[$i] = "w" Then
$split[$i] = "Z"
ELSEif $split[$i] = "x" Then
$split[$i] = "A"
ELSEif $split[$i] = "y" Then
$split[$i] = "B"
ELSEif $split[$i] = "z" Then
$split[$i] = "C"
ELSEif $split[$i] = "0" Then
$split[$i] = "3"
ELSEif $split[$i] = "1" Then
$split[$i] = "4"
ELSEif $split[$i] = "2" Then
$split[$i] = "5"
ELSEif $split[$i] = "3" Then
$split[$i] = "6"
ELSEif $split[$i] = "4" Then
$split[$i] = "7"
ELSEif $split[$i] = "5" Then
$split[$i] = "8"
ELSEif $split[$i] = "6" Then
$split[$i] = "9"
ELSEif $split[$i] = "7" Then
$split[$i] = "0"
ELSEif $split[$i] = "8" Then
$split[$i] = "1"
ELSEif $split[$i] = "9" Then
$split[$i] = "2"
ELSEif $split[$i] = "è" Then
$split[$i] = "ò"
ELSEif $split[$i] = "à" Then
$split[$i] = "ì"
ELSEif $split[$i] = "/" Then
$split[$i] = "\"
ELSEif $split[$i] = "(" Then
$split[$i] = "%"
ELSEif $split[$i] = ")" Then
$split[$i] = "&"
ELSEif $split[$i] = "'" Then
$split[$i] = "$"
ELSEif $split[$i] = " " Then
$split[$i] = "-"
Else
$split[$i] = $split[$i]
endiF
_GUICtrlEdit_AppendText($edit, $split[$i] )
Next
Case $bottone2
$ms1 = GUICtrlRead($edit)
$split = StringSplit($ms1,"")
GUICtrlSetData($edit, "" )
For $i = 1 To UBound($split)-1
if $split[$i] = "A" Then
$split[$i] = "x"
Elseif $split[$i] = "B" Then
$split[$i] = "Y"
Elseif $split[$i] = "C" Then
$split[$i] = "z"
Elseif $split[$i] = "D" Then
$split[$i] = "a"
Elseif $split[$i] = "E" Then
$split[$i] = "b"
Elseif $split[$i] = "F" Then
$split[$i] = "c"
Elseif $split[$i] = "G" Then
$split[$i] = "d"
Elseif $split[$i] = "H" Then
$split[$i] = "e"
Elseif $split[$i] = "I" Then
$split[$i] = "f"
Elseif $split[$i] = "K" Then
$split[$i] = "g"
Elseif $split[$i] = "L" Then
$split[$i] = "h"
Elseif $split[$i] = "M" Then
$split[$i] = "i"
Elseif $split[$i] = "N" Then
$split[$i] = "k"
Elseif $split[$i] = "O" Then
$split[$i] = "l"
Elseif $split[$i] = "P" Then
$split[$i] = "m"
Elseif $split[$i] = "Q" Then
$split[$i] = "n"
Elseif $split[$i] = "R" Then
$split[$i] = "o"
Elseif $split[$i] = "S" Then
$split[$i] = "p"
Elseif $split[$i] = "T" Then
$split[$i] = "q"
Elseif $split[$i] = "U" Then
$split[$i] = "r"
Elseif $split[$i] = "V" Then
$split[$i] = "s"
Elseif $split[$i] = "W" Then
$split[$i] = "t"
Elseif $split[$i] = "X" Then
$split[$i] = "u"
Elseif $split[$i] = "Y" Then
$split[$i] = "v"
Elseif $split[$i] = "Z" Then
$split[$i] = "w"
ELSEif $split[$i] = "3" Then
$split[$i] = "0"
ELSEif $split[$i] = "4" Then
$split[$i] = "1"
ELSEif $split[$i] = "5" Then
$split[$i] = "2"
ELSEif $split[$i] = "6" Then
$split[$i] = "3"
ELSEif $split[$i] = "7" Then
$split[$i] = "4"
ELSEif $split[$i] = "8" Then
$split[$i] = "5"
ELSEif $split[$i] = "9" Then
$split[$i] = "6"
ELSEif $split[$i] = "0" Then
$split[$i] = "7"
ELSEif $split[$i] = "1" Then
$split[$i] = "8"
ELSEif $split[$i] = "2" Then
$split[$i] = "9"
ELSEif $split[$i] = "ò" Then
$split[$i] = "è"
ELSEif $split[$i] = "ì" Then
$split[$i] = "à"
ELSEif $split[$i] = "\" Then
$split[$i] = "/"
ELSEif $split[$i] = "%" Then
$split[$i] = "("
ELSEif $split[$i] = "&" Then
$split[$i] = ")"
ELSEif $split[$i] = "$" Then
$split[$i] = "'"
Elseif $split[$i] = "-" Then
$split[$i] = " "
EndiF
_GUICtrlEdit_AppendText($edit, $split[$i] )
Next
EndSwitch
WEnd![]()
Ultima modifica di bradiposo (2010-07-24 13:08:24)
Non in linea

invece di tutti quei if non potevi mettere uno switch?


Non in linea

o un array... non so se funzione come nel php...
In linea

si avrei potuto mettere un array con un For ma non lo so fare ![]()
Non in linea

Il codice migliore sarebbe trattare i caratteri come numeri (vedi codice ASCII)
Basterebbe:
1)trasformare il carattere in numero
2)sommare 3 al numero (in caso di ROT 3)
3)ritrasformare il numero in carattere.
da cui:
CODIFICA
$Scritta=StringSplit($scritta,"") $cript="" for $i=1 to $Scritta[0] $cript=$cript & chr(asc($Scritta[$i])+3) Next msgbox(0,"",$cript)
DECODIFICA
$decript="" $cript=StringSplit($cript,"") for $i=1 to $scritta[0] $decript=$decript & chr(asc($cript[$i])-3) Next msgbox(0,"",$decript)
chr()restituisce il carattere che viene identificato dall'intero che gli viene passato come parametro
asc()restituisce il numero che identifica il carattere passatogli per parametro.
Viene utilizzato il codice ascii per entrambe le funzioni.
Il codice si riduce e diventa, algoritmicamente parlando, più matematico.
Non in linea

ingegnoso
grazie MZ
Non in linea

Prego.
Come già detto se hai bisogno di qualcosa contattami anche su msn (contatto per PM).
Edit:
Con questo algoritmo cripti tutti i caratteri non solo lelettere.
Occorrerebbe controllare che i numeri non sforino dai limiti del codice ASCII.In quel caso occorrerebbe continuare il conteggio dall'inizio.
(criptare il carattere } sforerebbe dai limiti dato che ha codice ascii 125 e 125+3 non esiste per il codice ascii.)
Tutti i numeri, prima di essere riconvertiti a caratteri dovrebbero sottostare alla seguente condizione:
se il numero è maggiore o uguale a 126 allora assegnare al numero il suo valore meno 126.
Per la decriptazione è lo stesso discorso al contrario.Se un numero diventa negativo occorre sommare 126.
Nota: Questo è previsto dal ROT in generale. Col computer a volte ci si può concedere una licenza poetica ![]()
Ultima modifica di MZ (2010-07-24 16:28:30)
Non in linea

Una volta avevo fatto qualcosa di simile... non so se conosci il java, comunque non è molto difficile... se vuoi vai qui http://porkynator.altervista.org/programmi.html e scaricati la versione 1.0 di kryptos, che funziona più o meno come il tuo programma solo che aumenta di 1 anziché di 3...
Non in linea

il mio primo programma in C fu un programma di criptazioni ![]()
Non so quanto avevo scritto XD non conoscevo nemmeno le funzioni e avevo fatto 7o 8 metodi di cifratura differenti
he he al tempo ero proprio malato per la criptazione
![]()
Non in linea

xD
Non in linea