Orario: 20-06-2013, 12:33 Benvenuto ospite! (Log inRegistrati)


Rispondi 
Cercasi aiutino!
Autore Messaggio
Gas1312
ɯɐǝʇ ɐbɐbǝı

Messaggi: 821
Registrato: Aug 2012
Offline Offline
#1 Cercasi aiutino!
0
Premetto di essere un musico e quindi di sapere ben poco di programmazione ecc..
Volevo solo da voi veterani una informazione e se possibile anche un aiuto pratico per un problemino che devo risolvere.

Andiamo al dunque.

Ho per motivi personali la necessità di avere un programmino molto semplice che compia questa funzione: associ ad ogni lettera dell'alfabeto un numero applicabile e intercambibile a 2 cifre, es A;12 B;28 ecc.. e una volta impostato che mi consenta di premere un pulsante sulla tastiera es appunto a e che compaia scritto il numero 12 in questo caso, e viceversa.
In breve che mi scriva un testo in numeri e che successivamente, con le chiavi di lettura giuste cioè conoscendo i valori corrispondenti, appunto a12 ecc, me lo ritorni testo..

chiedo a voi..
è questa una cosa possibile?

chiedo già scusa se per caso ho detto sciocchezze o altro!

Gas - music composer
Auguste Ghislain Dupin - Gas1312
Acolta le mie musiche qui:
[Immagine: soundcloud_36x36.png] [Immagine: icon-bandcamp.png] [Immagine: facebook_icon.jpg] [Immagine: icon-twitter.png]
30-08-2012 0:19
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
ArkadyDracul
Senior Member

Messaggi: 355
Registrato: May 2012
Offline Offline
#2 RE: Cercasi aiutino!
0
Si se non lo trovi già fatto lo fai facilmente, lavoro di un array per le traduzioni ed una textbox per il codice da decifrare.

Umberto Di Napoli - Wannabe Game/Level Designer
[Immagine: 4VqKS.png] [Immagine: mmrbotton.png][Immagine: coccarda2.png]
30-08-2012 2:08
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gian
Strange Tech Owner

Messaggi: 1,115
Registrato: Jul 2012
Online Online
#3 RE: Cercasi aiutino!
0
E' per crittografia semplice? Devi offuscare un messaggio?
Il programma che chiedi è molto semplice... l'unica cosa su cui potresti incasinarti se sei principiante è il caricamento di un file con un certo formato che stabilisca le associazioni... hai un linguaggio di programmazione preferito Sorriso ?

...ho deciso io: C#. Però devo avvisarti che il metodo di sostituzione semplice è incredibilmente debole. Sherlock holmes lo decodifica "a mente" in "The Adventure of the Dancing Men".

copincollare il seguente sorgente in Visual Studio o MonoDevelop, compilare, eseguire Sorriso

Codice:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication
{
    class Program
    {
        static string letterFreqPattern = @"\s*(?<letter>\w)\s+(?<number>\d+)\s*;";
        static Regex letterFreqRegex = new Regex(letterFreqPattern, RegexOptions.Compiled);
        static Dictionary<char, int> encodeDict = new Dictionary<char, int>();

        static void Main(string[] args)
        {
            // load dictionary
            
            string wholeDict = File.ReadAllText("assoc.txt");
            foreach (Match m in letterFreqRegex.Matches(wholeDict))
            {
                int n = int.Parse(m.Groups["number"].Value);
                encodeDict.Add(m.Groups["letter"].Value[0], n);
            }

            string s = null;

            // enter without text to exit
            do
            {
                Console.Write(">");
                s = Console.ReadLine();
                Console.WriteLine(encode(s));
            }while (!string.IsNullOrEmpty(s));
        }

        private static string encode(string s)
        {
            StringBuilder sb = new StringBuilder();
            foreach (char c in s)
            {
                sb.Append(encodeDict[c]);
                sb.Append(",");
            }
            return sb.ToString();
        }
    }
}

Dev'esserci un file chiamato "assoc.txt" nella stessa cartella, che contiente le associazioni indicate come:
  • lettera
  • spazio
  • numero intero in cifre senza altri segni
  • punto e virgola
  • altra lettera
  • ....
esempio: a 12; b 44; c 33; ...

...il decodificatore alla prossima puntata

Giancarlo Todone
[Immagine: smallStar.png] www.stareat.it
Google+ / Twitter / LinkedIn
(Questo messaggio è stato modificato l'ultima volta il: 30-08-2012 8:40 da Gian.)
30-08-2012 7:56
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gabriele
Posting Freak

Messaggi: 4,609
Registrato: Oct 2010
Online Online
#4 RE: Cercasi aiutino!
0
Se vuoi io ho fatto tempo fa un programma in C++/QT che usa il cifrario di cesare Linguaccia

Gabriele Di Bari
Account G+
Account bitbucket
Account GITHUB
E ricordate: ((VMJava*)(NULL))->~VMJava();
30-08-2012 8:57
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gas1312
ɯɐǝʇ ɐbɐbǝı

Messaggi: 821
Registrato: Aug 2012
Offline Offline
#5 RE: Cercasi aiutino!
0
Intanto grazie a tutti coloro che mi hanno risposto.

jean80 non ho un linguaggio preferito quindi hai fatto benissimo a scegliere te! grazie ancora appena posso copio il tuo codice!

gabriele grazie dell'offerta però purtroppo mi serve proprio questa determinata funzione, e poi a dire il vero non so neanche Bene cosa sia il codice cesare Smile

Gas - music composer
Auguste Ghislain Dupin - Gas1312
Acolta le mie musiche qui:
[Immagine: soundcloud_36x36.png] [Immagine: icon-bandcamp.png] [Immagine: facebook_icon.jpg] [Immagine: icon-twitter.png]
30-08-2012 10:40
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
71104
Member

Messaggi: 216
Registrato: Mar 2012
Offline Offline
#6 RE: Cercasi aiutino!
0
era il primo, debolissimo, codice crittografico della storia, usato per l'appunto da Cesare. oggi si chiama ROT13 perchè consiste in una banale permutazione dell'alfabeto che è una rotazione di 13 posti. questa è la tabella delle corrispondenze:

A -> I
B -> L
C -> M
D -> N
E -> O
F -> P
G -> Q
H -> R
I -> S
L -> T
M -> U
N -> V
O -> Z
P -> A
Q -> B
R -> C
S -> D
T -> E
U -> F
V -> G
Z -> H

contro gli zulù dell'epoca era più che sufficiente (a dire il vero ho il dubbio che sapessero leggere).

Alberto La Rocca
Canvace - Ladybug
30-08-2012 11:57
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gabriele
Posting Freak

Messaggi: 4,609
Registrato: Oct 2010
Online Online
#7 RE: Cercasi aiutino!
0
Si esatto è solo una permutazione di lettere

Gabriele Di Bari
Account G+
Account bitbucket
Account GITHUB
E ricordate: ((VMJava*)(NULL))->~VMJava();
30-08-2012 14:13
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gas1312
ɯɐǝʇ ɐbɐbǝı

Messaggi: 821
Registrato: Aug 2012
Offline Offline
#8 RE: Cercasi aiutino!
0
Capito grazie Smile

Gas - music composer
Auguste Ghislain Dupin - Gas1312
Acolta le mie musiche qui:
[Immagine: soundcloud_36x36.png] [Immagine: icon-bandcamp.png] [Immagine: facebook_icon.jpg] [Immagine: icon-twitter.png]
30-08-2012 16:33
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: