Files
cryptoseals/src/Seal.java
2026-03-27 18:57:41 +01:00

62 lines
1.7 KiB
Java

package com.crypto;
import io.javalin.Javalin;
public class Seal {
// Il mazzo di chiavi !!
public static RSA.RSAkeys keys;
public static void main(String[] args) {
// Avvio del server web
Javalin app = Javalin.create(config -> {
config.staticFiles.add("/get");
}).start(8080);
System.out.println("⏳ Generazione chiavi RSA per il server web in corso...");
// Cifratura con Cifrario di Cesare
app.post("/seal/caesar/encrypt", ctx -> {
}
);
// Decifratura con Cifrario di Vigenere
app.post("/seal/vigenere/encrypt", ctx -> {
}
);
// Cifratura con RSA
app.post("/seal/rsa/encrypt", ctx -> {
// Legge i dati nel body dalla richiesta
Richiesta req = ctx.bodyAsClass(Richiesta.class);
keys = RSA.defkeys(req.keysize / 2);
String ciphertext = RSA.encrypt(req.text,keys.e(), keys.n());
ctx.result(ciphertext);
});
// Decifratura con RSA
app.post("/seal/rsa/decrypt", ctx -> {
// Legge i dati nel body dalla richiesta
Richiesta req = ctx.bodyAsClass(Richiesta.class);
// Usa il metodo RSA per cifrare
String plaintext = RSA.decrypt(req.text, keys.d(), keys.n());
// Restituisce il risultato della cifratura
ctx.result(plaintext.replaceAll("\\\\u0000", ""));
});
}
}
// Classe utilizzata per tradurre il JSON - Rappresenta l'oggetto richiesta
class Richiesta {
public int keysize;
public String text;
// Costruttore della richiesta
public Richiesta() {}
}