Soluzione software in Java che genera e salva su file i numeri primi con algoritmo di Fermat e algoritmo di crittografia RSA
Note
Progetto scolastico π Β· β £
Warning
Presenza di BUG nell'UI
Link al javadoc: (link)
Video di Test (link)
![]() | ![]() |
|---|---|
| Small | Large |
- Seleziona schermata di "Test PrimalitΓ "
- Genera i numeri primi con algoritmo di Fermat
- Salva su file i numeri primi
- Seleziona schermata di "Algoritmo RSA"
- Carica il file con i numeri primi
- Cifra o decifra un messaggio
public void algoritmoFermat(){ long start; //tempo inizio calcolo numeri primi long end; //tempo fine calcolo numeri primi boolean checkPrimo; //verifica se un numero Γ¨ primo //check = true: primo //check = false: composto start = System.currentTimeMillis(); //tempo inizio calcolo numeri primi //ciclo for di i che scorre da min a max for ( BigInteger i = min; //Γ¨ il numero di cui si verifica la primalitΓ i.compareTo(max) <= 0; i = i.add(BigInteger.valueOf(1)) ) { incrementProgressBar.run(); checkPrimo = true; //ciclo for annidato di j che scorre da 2 al divisore massimo for ( BigInteger j = BigInteger.valueOf(2); //Γ¨ il dvisore del numero per la verifica della primalitΓ j.compareTo(BigInteger.valueOf(10)) <= 0; //j compareTo fino al numero j = j.add(BigInteger.valueOf(1))) //verifica se j divisore di i ed in caso aggiorna check = false { if (Thread.currentThread().isInterrupted()) { end = System.currentTimeMillis(); //tempo fine calcolo numeri primi time = Math.abs(start - end) / 1000.0; //tempo durata calcolo numeri primi return; } if (!j.modPow(i.subtract(BigInteger.valueOf(1)), i).equals(BigInteger.valueOf(1))) checkPrimo = false; } if (checkPrimo){ results.add(i.toString()); appendResult.run(); } } end = System.currentTimeMillis(); //tempo fine calcolo numeri primi time = Math.abs(start - end) / 1000.0; //tempo durata calcolo numeri primi }$ tree . βββlib β βββ flatlaf-3.2.5.jar βββsrc βββ org βββ app βββ applications β βββ encryption β β βββ ReadFile.java β β βββ TestEncryption.java β βββ primality β βββ SavePrimality.java β βββ TestPrimality.java βββ windows β βββ dependencies β β βββ components β β β βββ encryption β β β β βββ dialogs β β β β β βββ WinErrorInEncryption.java β β β β β βββ WinErrorOutEncryption.java β β β β βββ panels β β β β β βββ WinInEncryption.java β β β β β βββ WinOutEncryption.java β β β β β βββ WinSaveEncryption.java β β β β βββ WinEncryption.java β β β βββ primality β β β β βββ dialogs β β β β β βββ WinErrorInPrimality.java β β β β β βββ WinErrorOutPrimality.java β β β β βββ panels β β β β β βββ WinInPrimality.java β β β β β βββ WinOutPrimality.java β β β β β βββ WinSavePrimality.java β β β β βββ WinPrimality.java β β β βββ WinHome.java β β βββ managers β β βββ WinManagerEncryption.java β β βββ WinManagerPrimality.java β βββ WinManager.java βββ App.java βββ Main.java Copyright 2024 Vittorio Piotti (GitHub page) (Personal page)
Version v1.0.0
License GPL-3.0
Copyright 2024 JFormDesigner GmbH
Version v3.2.5
License Apache License 2.0


