This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
package com.crypto;
|
||||
import java.math.BigInteger;
|
||||
|
||||
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
|
||||
@@ -33,21 +32,24 @@ public class Seal {
|
||||
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);
|
||||
RSA.RSAkeys keys = RSA.defkeys(req.keysize / 2);
|
||||
String ciphertext = RSA.encrypt(req.text,keys.e(), keys.n());
|
||||
ctx.result(ciphertext);
|
||||
ctx.result("{\"ciphertext\":"+ciphertext+",\"keys\":{\"d\":" + keys.d().toString() + ",\"n\":" + keys.n().toString() + "}}");
|
||||
});
|
||||
|
||||
// Decifratura con RSA
|
||||
app.post("/seal/rsa/decrypt", ctx -> {
|
||||
// Legge i dati nel body dalla richiesta
|
||||
Richiesta req = ctx.bodyAsClass(Richiesta.class);
|
||||
|
||||
|
||||
BigInteger d = new BigInteger(req.d);
|
||||
BigInteger n = new BigInteger(req.n);
|
||||
|
||||
// Usa il metodo RSA per cifrare
|
||||
String plaintext = RSA.decrypt(req.text, keys.d(), keys.n());
|
||||
String plaintext = RSA.decrypt(req.text, d, n);
|
||||
|
||||
// Restituisce il risultato della cifratura
|
||||
ctx.result(plaintext.replaceAll("\\\\u0000", ""));
|
||||
ctx.result(plaintext.replaceAll("\\\\u0000/g", ""));
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -56,6 +58,8 @@ public class Seal {
|
||||
class Richiesta {
|
||||
public int keysize;
|
||||
public String text;
|
||||
public String d;
|
||||
public String n;
|
||||
|
||||
// Costruttore della richiesta
|
||||
public Richiesta() {}
|
||||
|
||||
Reference in New Issue
Block a user