https://github.com/matbagnoletti/encryption
Programma Java di cifratura e decifratura che utilizza l'algoritmo di Vigenère.
https://github.com/matbagnoletti/encryption
encryption-decryption java multithreading thread vigenere-cipher
Last synced: 8 months ago
JSON representation
Programma Java di cifratura e decifratura che utilizza l'algoritmo di Vigenère.
- Host: GitHub
- URL: https://github.com/matbagnoletti/encryption
- Owner: matbagnoletti
- License: other
- Created: 2023-12-01T13:06:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-21T14:37:51.000Z (over 1 year ago)
- Last Synced: 2025-01-07T05:42:42.122Z (9 months ago)
- Topics: encryption-decryption, java, multithreading, thread, vigenere-cipher
- Language: Java
- Homepage:
- Size: 24.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Encryption
Made by @matbagnoletti
Docenti: prof.ssa @mciuchetti e prof.ssa Fioroni
Corso TPSIT a.s. 2023/2024, ITTS A. Volta (PG)
![]()
![]()
## Descrizione
Questo progetto è un semplice programma di cifratura/decifratura che utilizza l'algoritmo del [**cifrario di Vigenère**](https://it.wikipedia.org/wiki/Cifrario_di_Vigen%C3%A8re).## Struttura
Il progetto si compone dalle seguenti classi:
- [**Main**](Main.java): classe principale del programma, che contiene il metodo main.
- [**Vigenere**](Vigenere.java): classe che contiene i metodi popolare la matrice di Vigenère utilizzata per cifrare e decifrare. Implementa l'interfaccia [**Runnable**](https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html).
- [**Matrice**](Matrice.java): classe che contiene la matrice di Vigenère. Contiene i metodi per cifrare e decifrare un messaggio.## Utilizzo
Per utilizzare il programma è necessario compilare il file [**Main.java**](Main.java) e avviare il programma.Al primo avvio 4 Thread si occuperanno di popolare la matrice e la stamperanno a video.
Verrà successivamente chiesto di scegliere tramite menù tra (1) *cifrare*, (2) *decifrare* o (0) *terminare il programma*.
Entrambe le opzioni (1 e 2) richiederanno di:
1. Inserire uno username `` che verrà utilizzato per identificare il *file di output*.
2. Inserire una chiave `` di cifratura, che verrà utilizzata per cifrare o decifrare i messaggi.
3. Inserire un messaggio da cifrare `` o decifrare ``.
> [!NOTE]
> Il file di output si presenta come `` (privo di estensione). Un apposito menù eviterà di inserire un `` già utilizzato per non sovrascrivere, così, un file già esistente.## Aggiornamenti (v.1.1)
- [x] Aggiunta di un loop nel menù per scegliere l'opzione da utilizzare.
- [x] Gestione di eventuali eccezioni generate durante l'inserimento di caratteri non supportati.## Licenza d'uso
La seguente repository (e tutte le sue versioni) sono rilasciate sotto la [**MB General Copyleft License**](LICENSE).